Альтернатива pecl imagick?

Тема в разделе "PHP", создана пользователем ajrengen, 26 фев 2012.

Модераторы: latteo
  1. ajrengen

    ajrengen Постоялец

    Регистр.:
    28 сен 2008
    Сообщения:
    110
    Симпатии:
    29
    Уже довольно долго использую библиотеку PECL Imagick, когда начинал её использовать понимал на что иду, но думал что решение временное... и как часто бывает нет ничего такого постоянного как временное. Но всё-таки сейчас решил, что пришло время вернуться к этому вопросу.

    В чём проблема:
    При подключении imagick.so рабочий размер исполнительных процессов php-fpm в ОЗУ увеличивается в два раза и время выполнения скриптов в целом, даже без использования функций библиотеки увеличивается примерно на 30%
    Простой тест:
    Файл index.php содержит <?php phpinfo(); ?>

    C подключением imagick.so
    Код:
    ab -n 100000 -c 10 http://localhost/index.php
    Requests per second:    1739.85 [#/sec] (mean)
    VIRT   RES  SHR
    60344  11m 5892 R 15.0  3.2   0:10.41 php-fpm
    
    Отключаем Imagick.so
    Код:
     
    ab -n 100000 -c 10 http://localhost/index.php
    Requests per second:    2484.99 [#/sec] (mean)
    VIRT   RES  SHR
    34288 4112 2228 R 22.6  1.1   0:01.84 php-fpm
    
    Возможные пути решения:
    1. переписывать все функции под exec();
    2. возможно есть уже готовый класс использующий те же функции что и Imagick. Тогда не потребуется переписывать код по новой и можно будет подключать класс только там и тогда когда он нужен. К сожалению я такой не нашёл, по крайней мере полноценный. Возможно вы встречали?
    3. ... ?
     
  2. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
     
    ajrengen нравится это.
  3. scott2to

    scott2to Создатель

    Регистр.:
    20 фев 2012
    Сообщения:
    31
    Симпатии:
    7
    В фреймворке Yii есть расширение под названием image. Это обертка над gd, но функционал похож на iMagick.