Почему статический генератор Django и Nginx не дают мне скорость босса? - PullRequest
6 голосов
/ 18 января 2010

Так что в последнее время появилось много статей, подобных , этой , в которых рассказывается о достоинствах Django Static Generator при использовании в сочетании с легким интерфейсным веб-сервером.Это имеет большой смысл для меня.

Однако я не получаю ничего, как результаты, о которых сообщают другие люди - тысячи запросов в секунду - и я не знаю, почему это так.

Я готовлюсь к редизайну веб-сайта моей газеты.Я получил его с помощью Static Generator на тестовом сервере прямо сейчас.И когда я запускаю Apache Bench на определенной статической странице, я получаю довольно жалкие результаты:

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

Я наблюдаю top на сервере, пока идет осадаи я вижу, что это вообще не бьет по Apache или серверу баз данных.Так что, на самом деле, это обслуживание кэшированной страницы.Nginx работает, но никогда не превышает 2% использования памяти.Процессор остается на 95% бездействующим.

Что я делаю не так?Мог ли я как-то неправильно настроить nginx?Мой основной файл конфигурации вставлен ниже;Специфическое для этого сайта включение является точной копией примера конфигурации на домашней странице Static Generator .Я использую Ubuntu 9.10 на слайсе Slicehost 256k.

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/*;
}

Ответы [ 2 ]

3 голосов
/ 18 января 2010

Я не эксперт в этом деле.Но если процессор простаивает, а память не является узким местом, жесткий диск приходит мне в голову.Возможно, он очень медленный, а плохая скорость - намек на сломанный жесткий диск.

Вам следует запустить несколько простых тестов.

1 голос
/ 05 февраля 2010

Откуда вы делаете тест? Другой сервер в том же центре обработки данных или домашнее / рабочее интернет-соединение? Надежно проверить работоспособность вашего сайта с вашего домашнего подключения будет сложно. Во-первых, ваше интернет-соединение может быть слишком медленным, а во-вторых, многие персональные маршрутизаторы не могут обрабатывать столько одновременных соединений.

Также ... попробуйте запустить тест без изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...