Wir haben ~ 300 selleryd Prozesse laufen unter Ubuntu 10.4 64-Bit, im Leerlauf dauert jeder Prozess ~ 19mb RES, ~ 174mb VIRT, so - es ist rund 6GB RAM im Leerlauf für alle Prozesse. Im aktiven Zustand - Prozess dauert bis zu 100mb RES und ~ 300mb VIRTSellerie - minimieren Speicherverbrauch
Jeder Prozess verwendet Minidom (XML-Dateien sind < 500kb, einfache Struktur) und urllib.
Fragen ist - wie können wir RAM Konsum reduzieren - zumindest für untätige Arbeiter, wahrscheinlich einige Sellerie oder Python-Optionen können helfen? Wie ermittelt man, welcher Teil den größten Teil des Speichers belegt?
UPD: Das ist Flugsuche Agenten, ein Arbeiter für eine Agentur/Datum. Wir haben 10 Agenturen, eine Benutzersuche == 9 Daten, also haben wir 10 * 9 Agenten pro eine Benutzersuche.
Ist es möglich, selleryd Prozesse auf Anfrage zu starten, um Leerlaufarbeiter zu vermeiden (so etwas wie MaxSpareServers auf Apache)?
UPD2: Agent-Lebenszyklus - HTTP-Anforderung für eine Antwort senden, warten ~ 10-20 sec, xml parsen (dauert weniger als 0,02 s), zu MySQL speichern führen
haben Sie versucht, serverfault.com oder # Sellerie auf irc.freenode.net? – Unreason
serverfault ist leer, leider – Andrew
Warum so viele im Leerlauf 'selleryd' Server? –