Hallo,
zur Zeit suche ich nach Performance
für Webanwendungen basierend auf Python.
Daher untersuchte ich mit Apache
ab.exe -n 1000 -c 10 100kb.html
zum Beispiel ZOPE,
und nun eben einen Python HTTP-Script-Server (BaseHTTPServer).
Dabei ist mir etwas eigenartiges aufgefallen.
Ich starte den HTTP-Script-Server in einem CMD-Fenster.
Als nächstes rufe ich in einem weiteren CMD-Fenster
den Benchmark auf ab.exe -n 1000 -c 10 100kb.html.
Das Fenster mit dem HTTP-Script-Server
gibt pro verarbeiteten request eine message in der Konsole aus,
woraus man auch die Verarbeitungsgeschwindigkeit
optisch ableiten/erkennen kann.
Bei -c 10 (concurrency,parallele requests)
kamen nur ca 10 req/s zustande.
Da ich -c 10, für einen hohen Wert hielt, setzte ich diesen herunter
...erst bei -c 5 war das Ergebnis mit 222 req/s akzeptabel.
Achtung!
Der Focus war bei diesen Tests immer auf dem CMD-Fenster in dem der ab-Bench ablief.
Wenn man wieder -c 10 heranzieht und nach dem Start
des ab-bench sogleich das CMD-Fenster mit dem HTTP-Script-Server anclickt und so den Focus darauf legt,
ja, dann kommen auch 200 req/s zustande.
Offenbar ist die Ausführungs-/Verarbeitungsgeschwindigkeit
innerhalb der Konsole davon abhängig,
ob der Focus darauf liegt oder nicht.
Der tieferliegende Grund scheint mir das Prozess-Handling von Windows2000 zu sein. Der Versuch im TaskManager für den/die CMD-Prozesse Priorität "Echtzeit"/"HohePriorität" zuzuweisen
brachte keine Besserung. Läßt sich die CMD-Konsole mit "ständigem Focus" starten, ohne danach wirklich den Focus zu haben?
Hat jemand ähnliche Erfahrung gemacht, Tipps ?
Mfg Ronsen
Windows CMD-Window ohne Focus slows down py scriptserver
Die Bildschirmausgabe kann durchaus die langsamste Operation unter mehreren sein und deshalb die Laufzeit insgesamt beeinträchtigen, ja.
Ich würde versuchen, das Fenster zu minimieren und/oder die Ausgaben unterdrücken zu lassen.
Ich würde versuchen, das Fenster zu minimieren und/oder die Ausgaben unterdrücken zu lassen.