2010-11-12 4 views
19

Ich bin wsgi Anwendung auf Apache mod_wsgi im Daemon-Modus laufen. Ich habe diese Zeilen in der KonfigurationTuning mod_wsgi im Daemon-Modus

WSGIDaemonProcess app processes=2 threads=3 display-name=%{GROUP} 
WSGIProcessGroup app 

Wie finde ich die optimale Kombination/Abstimmung von Prozessen und Threads?

EDIT: Dieser Link [in Antwort unten angegeben] war sehr nützlich: https://serverfault.com/questions/145617/apache-2-2-mpm-worker-more-threads-or-more-processes/146382#146382

Nun, meine Frage ist: Wenn mein Server für meine Bedürfnisse sehr gute Leistung gibt, sollte ich die Nummer reduzieren von Gewinden, um Stabilität/Zuverlässigkeit zu erhöhen? Kann ich es sogar auf 1 setzen?

Antwort

13

Sie können auch weitere Informationen zu ServerFault erhalten. Zum Beispiel: https://serverfault.com/questions/145617/apache-2-2-mpm-worker-more-threads-or-more-processes

Dies ist eine weitere gute Ressource für das Thema: http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading#The_mod_wsgi_Daemon_Processes , die kurz beschreibt die Optionen - einschließlich der Einrichtung threads = 1.

Ich habe dies noch nicht getan, aber es klingt wie es doesn‘ t viel wichtig. Unterstützung für mehrere Threads sowie mehrere Prozessoren werden beide gut unterstützt. Aber für mein Erfahrungsniveau (und wahrscheinlich auch für Ihr eigenes) lohnt es sich, das Threading als eine zusätzliche Quelle von Bedenken zu eliminieren - selbst wenn es theoretisch felsenfest ist.

+0

Ich sah nur Ihr Update jetzt. Ich denke, ich werde mit einem einzigen Thread gehen. Vielen Dank. – vonPetrushev

1

Ihre beste Wette ist es, wahrscheinlich verschiedene Benchmarks auszuprobieren. Sie können den Befehl apache benchmark verwenden, um eine ungefähre Schätzung der Konfiguration zu erhalten. Ein Großteil der Optimierung hängt davon ab, wie stark die CPU/IO an Ihre Web-App gebunden ist. Die Leistung hängt auch von den Spezifikationen des Servers ab, auf dem Sie hosten usw.