ColdFusion-Produktionsserver - Leistungsoptimierung

ColdFusion-Produktionsserver - Leistungsoptimierung

Ich versuche, die optimalen Einstellungen für meinen ColdFusion PRODUCTION-Server zu ermitteln. Der Server hat die folgenden Spezifikationen.

ColdFusion: Enterprise Version 10
Betriebssystem: Windows Server 2012R2 Standard
Prozessor: Intel(R) Xeon(R) CPU E5-2660 v2 @ 2,20 GHz
Installierter Speicher (RAM): 20,0 GB
Systemtyp: 64-Bit-Betriebssystem, x64-basierter Prozessor

Meine Java- und JVM-Einstellungen aus CFIDE sind:

Minimale Heap-Größe (in MB): 2048
Maximale Heap-Größe (in MB): 4096

JVM-Argumente
-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

Auf diesem Produktionsserver laufen mehrere Websites, die alle ColdFusion verwenden. Der Datenbankserver ist vollständig separat, sodass dieser Server nur für die ColdFusion-Anwendung und die Webserverprozesse verantwortlich ist.

Die Websites sind vollständig datengesteuert und beziehen ihre Daten aus der Datenbank auf meinem Produktionsdatenbankserver. In letzter Zeit habe ich beobachtet, dass der ColdFusion-Dienst blockiert, da er die CPU voll auslastet. Der Speicher ist stabil, nur die CPU ist voll ausgelastet.

Kann mir jemand Vorschläge machen, wie ich es optimieren kann, um die Gesamtleistung zu verbessern und gleichzeitig die CPU-Belastung zu verringern?

Danke schön!

Antwort1

Die wahrscheinlichste Ursache dafür, dass Ihre CPU die Garbage Collection voll auslastet, hat eigentlich mit dem Speicher zu tun. Wenn Sie sagen „Speicher ist stabil“, meinen Sie damit, dass das System anzeigt, dass CF nur die 4G verwendet, die Sie zulassen, oder meinen Sie, dass der ColdFusion-Monitor eine stabile Speichernutzung anzeigt?

Ich denke, die Lösung für Ihr Problem wird darin bestehen, die richtige Kombination aus GC und Speicherzuweisung zu finden, sodass die CPU regelmäßig kleine Bereinigungen durchführt, anstatt gelegentlich große Bereinigungen durchzuführen. Aber wie Miguel sagte, ist der einzige Weg, dies herauszufinden, ein Belastungstest. jMeter ist großartig. Probieren Sie es aus.

verwandte Informationen