Я пытаюсь определить оптимальные настройки для своего сервера ColdFusion PRODUCTION. Сервер имеет следующие характеристики.
ColdFusion: Корпоративная версия 10
Операционная система: Windows Server 2012R2 Standard
Процессор: Intel (R) Xeon (R) CPU E5-2660 v2 @ 2,20 ГГц
Установленная память (RAM): 20,0 ГБ
Тип системы: 64-разрядная операционная система, процессор на базе x64
Мои настройки Java и JVM из CFIDE:
Минимальный размер кучи (в МБ): 2048
Максимальный размер кучи (в МБ): 4096Аргументы JVM
-server -XX: MaxPermSize = 192m -XX: + UseParallelGC -Xbatch -Dcoldfusion.home = {application.home} -Dcoldfusion.rootDir = {application.home} -Dcoldfusion.libPath = {application.home} / lib -Dorg. apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER = true -Dcoldfusion.jsafe.defaultalgo = FIPS186Random
У меня есть несколько веб-сайтов, работающих на этом производственном сервере, и все они используют ColdFusion. Сервер базы данных полностью отделен, поэтому все, за что отвечает этот сервер, - это приложение ColdFusion и процессы веб-сервера.
Веб-сайты полностью управляются данными, и все они взяты из базы данных, расположенной на моем производственном сервере базы данных. В последнее время я наблюдал, как служба ColdFusion зависает, поскольку она полностью загружает процессор. Память стабильная, работает только ЦП.
Может ли кто-нибудь внести предложения о том, как я могу настроить его для повышения общей производительности при одновременном снижении нагрузки на процессор?
Спасибо!
Наиболее вероятная причина того, что ваш ЦП максимально использует сборку мусора, что на самом деле связано с памятью. Когда вы говорите «память стабильна», вы имеете в виду, что система показывает, что CF использует только разрешенный вами 4G, или вы имеете в виду, что монитор ColdFusion показывает стабильное использование памяти?
Я думаю, что решение вашей проблемы будет заключаться в том, чтобы получить правильную комбинацию GC и выделения памяти, чтобы процессор выполнял небольшие регулярные чистки вместо случайных огромных чисток. Но, как сказал Мигель, единственный способ узнать это - это нагрузочное тестирование. jMeter великолепен. Играть с этим.