Graphicsmagick занимает больше времени на сервере

Я использую GraphicsMagick, чтобы раскрасить несколько слоев изображений и составить его, чтобы сформировать одно изображение и вернуть его.

На местном это заняло около 30 мс, чтобы обработать один слой (1000 х 1000).

Ниже приведено изображение.

Ниже приведен мой код окраски:

var colorizeImage = function(imageName, hex, callback) {
  //Setting image path.
  var sourceImgSrc = getSourceImgSrc(imageName); //Source image path
  var convertedImgSrc = getConvertedImgSrc(imageName); // New image path
  var hslObj = getConvertedHSLFromHex(hex);
  var hue = hslObj.h;
  var saturation = hslObj.s; 
  var lightness = hslObj.l; 
  try{
      //Query  
        var modulateImg = "gm convert -resize 500 "+sourceImgSrc+" -modulate "+lightness+","+saturation+","+hue+" -limit memory 100KB "+convertedImgSrc; 

        exec(modulateImg, function(err) {
          if (err) {
            callback('', err);
          } 
          else{
            callback(convertedImgSrc);
          }

        });
  }
  catch(err){
    callback('', err);
  }
}

Но, когда я разместил это на своем сервере и выполнил нагрузочное тестирование с загрузкой только 50 одновременно работающих пользователей. Производительность для одного слоя снижается примерно до 250 мс для одного слоя.

Ниже приведена моя конфигурация сервера:

GraphicsMagick: 1.3.26

ОС: Windows Server 2012

Процессор: Intel (R) Xeon (R) 2,40 ГГц (2 процессора)

RAM: 128 ГБ

Пожалуйста, помогите мне улучшить производительность, чтобы он мог легко справляться с огромными нагрузками.

Благодарю.

0 ответов

Другие вопросы по тегам