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 ГБ
Пожалуйста, помогите мне улучшить производительность, чтобы он мог легко справляться с огромными нагрузками.
Благодарю.