So gab es viele Artikel wie this one vor kurzem, pries die Vorteile von Django Static Generator, wenn in Kombination mit einem leichten Front-End-Webserver verwendet. Das macht sehr viel Sinn für mich.Warum sind nicht Django Static Generator & Nginx mir Boss Geschwindigkeit?
Allerdings bekomme ich nichts wie die Ergebnisse, die andere Leute berichten - Tausende von Anfragen pro Sekunde - und ich weiß nicht, warum das so ist.
Ich bin bereit, ein Redesign der Website meiner Zeitung zu starten. Ich habe es jetzt mit Static Generator auf einem Testserver. Und wenn ich Apache Bench auf einem bestimmten statischen Seite laufen lasse, erhalte ich ziemlich miserable Ergebnisse:
ab -c 10 -n 1000 http://journal.streamlister.com/news/
Concurrency Level: 10
Time taken for tests: 53.011 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 21281212 bytes
HTML transferred: 21067360 bytes
Requests per second: 18.86 [#/sec] (mean)
Time per request: 530.107 [ms] (mean)
Time per request: 53.011 [ms] (mean, across all concurrent requests)
Transfer rate: 392.04 [Kbytes/sec] received
ich top
auf dem Server bin gerade während der Belagerung auf, und ich kann sehen, dass es Apache oder den Datenbankserver überhaupt nicht treffen. So dient es tatsächlich der zwischengespeicherten Seite. Nginx wird ausgeführt, aber es wird nie mehr als 2% Arbeitsspeicher verwendet. Die CPU bleibt zu etwa 95 Prozent im Leerlauf.
Was mache ich falsch? Könnte ich irgendwie nginx falsch konfiguriert haben? Meine Hauptkonfigurationsdatei wird unten eingefügt; Das für diese Site spezifische Include ist eine Kopie der Beispielkonfiguration auf der Static Generator home page. Ich benutze Ubuntu 9.10 auf einem Slice Host 256k Slice.
user not_my_real_username;
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 8192;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
keepalive_timeout 0;
#keepalive_timeout 65;
tcp_nodelay on;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}