Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ImageMagick и нагрузка на ЦП.
Форумы портала PHP.SU » » Графика в PHP » ImageMagick и нагрузка на ЦП.

Страниц (1): [1]
 

1. Vinyl - 23 Июля, 2012 - 07:30:03 - перейти к сообщению
Доброго времени. Поставил ImageMagick на VPS (проц. 900 Mhz, память гарант./макс. - 512/256 Мб, OpenVZ). При выполнении вот такой несложной операции:
PHP:
скопировать код в буфер обмена
  1.  
  2.         $im = new imagick($thumbnail);
  3.         $im->cropThumbnailImage( 100, 100 );
  4.         $im->roundCorners(5, 5);
  5.        
  6.         $canvas = new Imagick();
  7.         $canvas->newImage(100, 100, new ImagickPixel("white"));
  8.         $canvas->compositeImage($im, $im->getImageCompose(),  0,  0);
  9.         $canvas->writeImage($thumbnail);
  10.        
  11.         $imb = new Imagick($image);
  12.         $width = $imb->getImageWidth();
  13.        
  14.         if($width>882)
  15.         {
  16.                 $imb->adaptiveResizeImage(882,0);
  17.         }
  18.        
  19.         $height = $imb->getImageHeight();
  20.        
  21.         if($height>600)
  22.         {
  23.                 $imb->adaptiveResizeImage(0,600);
  24.         }
  25.        
  26.         $imb->writeImage($image);
  27.  

и размере изображения ($image и $thumbnail, до выполнения скрипта это одинаковые изображения) 1024x768 проц 7-8 секунд загружен на 100%, а при размере исходной картинки в 4272x2848 проц загружен на 100% до 18 секунд. Это нормально?
На сервере Debian 6, IM ставил с репозитория, стоит LAMP. Может в конфигах чего подправить нужно? На оф.сайте IM ничего не нашел. Буду благодарен за помощь.
2. EuGen - 23 Июля, 2012 - 09:51:01 - перейти к сообщению
3. Vinyl - 23 Июля, 2012 - 13:59:33 - перейти к сообщению
EuGen, спасибо, но не помогло. Уже без openmp, а время выполнения то же.
4. EuGen - 23 Июля, 2012 - 14:59:51 - перейти к сообщению
Тогда, вероятно, дело в самой библиотеке. Попробуйте http://www[dot]multipole[dot]org/discour[dot][dot][dot]?f=1&t=20130 - но не уверен, что это поможет в Вашем случае.
5. Vinyl - 23 Июля, 2012 - 15:22:24 - перейти к сообщению
EuGen, не помогло. Может, правда сервер слабый?

Время выполнения:
1280х800 -> 20.4 сек.
4272x2848 -> 31.9 сек.

Чем можно сам сервер протестить? У меня в тарифе четко процессор не прописан, где-то в факе нашел, как рассчитать, кому сколько процессора достается, получил ~900 MHz.
Хостер vps.ua, тариф VZ-256
6. EuGen - 23 Июля, 2012 - 15:30:25 - перейти к сообщению
Vinyl
Теоретически "слабый сервер" означает, что увеличение его производительности - это малоэффективное так называемое "решение в ширину" (ведь если представить, что Вам потребуется запустить, к примеру, уже 3-5 процессов, аналогичных обсуждаемому, то увеличение мощности в 2 раза не спасет).
Возможно, стоит увеличить мощность, но это не панацея. Кроме того, можно попытаться найти альтернативу используемой библиотеке (честно признаюсь, делал это так)

 

Powered by ExBB FM 1.0 RC1