У меня есть Linux-машина 64 бит (centos5.5), 2,83 ГГц Q9550, 6 ГБ оперативной памяти и один диск SATA 500 ГБ.
С этой машины я обслуживаю только эскизы, большинство размером около 10 КБ, и на данный момент на сервере около 7 миллионов эскизов. Я установил их в папке / 25/25/25/25, которую мне рекомендовали.
В среднем отчет о состоянии nginx показывает, что я обслуживаю от 300 до 400 активных подключений.
ПРИМЕР:
Active connections: 297
server accepts handled requests
1975808 1975808 3457352
Reading: 39 Writing: 8 Waiting: 250
Теперь проблема в том, что эта машина переживает очень тяжелые времена и становится все медленнее, так как мой сайт становится все более загруженным. Нагрузка всегда от 8 до 9.
Я заметил, что iostat показывает более 100% утилиты.
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.20 1.40 99.80 31.14 1221.56 255.49 11.28 114.14 831.81 7.62 99.84
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.20 0.60 100.80 24.00 1192.00 203.20 11.18 113.77 775.42 8.02 100.04
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.20 314.80 44.80 130.00 598.40 3547.20 23.72 113.76 937.18 5.72 100.02
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 5.40 56.20 110.80 660.80 937.60 9.57 112.37 518.01 5.99 100.04
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.60 12.40 82.80 41.60 1008.00 432.00 11.58 113.66 852.51 8.04 100.04
Ниже вы можете увидеть некоторые из моих настроек конфигурации nginx:
worker_processes 6;
worker_connections 4096;
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 4;
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
}
У меня вопрос, помимо перехода на настройки RAID и, возможно, SSD, есть ли что-нибудь, что я могу настроить, чтобы получить больше от этой машины? У меня такое чувство, что такой сервер, как мой, должен иметь возможность обрабатывать гораздо больше, чем примерно 300–400 активных соединений nginx в секунду.
Я использую btrfs ssd soft raid (mkfs.btrfs -m single / dev / sde -d raid0 / dev / sdd / dev / sdc)