Назад | Перейти на главную страницу

Imagemagick mogrify увеличивает среднюю нагрузку на сервер Linux

AFAIK, теория говорит, что умножьте коэффициент 1 на ядро ​​процессора, чтобы определить оптимальную среднюю нагрузку. Итак, для сервера с 8 ядрами ЦП оптимальная средняя нагрузка будет 8, 16 ядер = 16 и так далее. Однако при использовании mogrify Imagemagick я вижу огромные средние значения нагрузки:

top - 14:00:44 up 9 days, 20:12,  6 users,  load average: 130.37, 87.53, 56.94
Tasks: 588 total,  11 running, 577 sleeping,   0 stopped,   0 zombie
Cpu(s): 99.8%us,  0.2%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49555072k total, 33129928k used, 16425144k free,  3813092k buffers
Swap: 23438824k total,    47276k used, 23391548k free, 26145156k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                    
29490 user1      20   0  121m  33m 2728 R  240  0.1   9:10.52 mogrify                                                                    
29337 user1      20   0  121m  33m 2728 R  234  0.1  12:01.94 mogrify                                                                    
29882 user1      20   0  121m  33m 2728 R  231  0.1   3:57.54 mogrify                                                                    
29232 user1      20   0  121m  33m 2728 R  223  0.1  11:34.54 mogrify                                                                    
29514 user1      20   0  122m  33m 2728 R  223  0.1   9:22.84 mogrify                                                                    
29689 user1      20   0  121m  33m 2728 R  219  0.1   7:28.18 mogrify                                                                    
29204 user1      20   0  121m  33m 2728 R  206  0.1  12:21.33 mogrify

Как видно из top - проблем с сервером нет. Такое поведение возникает только при вызове mogrify.

Почему это происходит? Как я могу это исправить или хотя бы немного приглушить?

Спасибо!

Изменить: обычно они работают так долго. Сервер как обычно реагирует. Я обрабатываю 618 изображений в среднем размером 2,5 МБ. Нагрузка распределяется между несколькими серверами, которые top выходы выглядят очень идентичными. я прочитал эта тема который мне еще предстоит проверить. Мне кажется, что mogrify (или Imagemagick) «переоценивают» процессоры. Следовательно, загрузка ЦП на 200 +% на задание.

Вы занимаетесь обработкой графики. Это по своей сути интенсивно использует процессор.

Решение состоит в том, чтобы прекратить обработку графики или, по крайней мере, делать ее меньше - обновите все, что вызывает mogrify поэтому он не может выполнять столько параллельных задач. Если это не вариант, разделите нагрузку (добавьте еще один сервер и отправьте туда часть работы).


Обратите внимание: если ваша средняя загрузка составляет 130, а ваша система по-прежнему реагирует и делает все, что вам нужно, своевременно, у вас нет проблемы, у вас есть «проблема» (это не выглядит хорошо, на любой системный администратор скажет вам, что это, вероятно, что-то плохое, и вам следует рассмотреть решения, подобные тому, что я описал выше, но если это ничего не вредит и не становится существенно хуже по мере увеличения масштаба, вы можете игнорировать это как «нормальное» для этой среды ").

Я нашел решение. Я проверил 2 версии ImageMagick - 6.5.1 и 6.5.7. Старая версия поставляется с Ubuntu Karmic 9.10, более новая - с Ubuntu Lucid 10.04. Обе версии 64-битные. Я заметил, что версия 6.5.7 быстрее, чем 6.5.1, а также не сильно нагружает сервер. Как и следовало ожидать, он производил нормальную однозначную нагрузку. Для обеих версий mogrify был многопоточным.

Итак, теперь я доволен. Если найду немного свободного времени, проверю, в чем разница.