Почему nginx 1.0.0, по-видимому, не использует открытый файловый кеш ядра в Gentoo? (высокий Айоваит)

free -m
             total       used       free     shared    buffers     cached
Mem:          7996       2043       5952          0         73        140
-/+ buffers/cache:       1830       6165
Swap:         7812         15       7797

nginx -v

nginx: версия nginx: nginx / 1.0.0

uname -a

Linux tr1 2.6.38-gentoo-r6 # 4 SMP вт 27 сентября 11:24:13 EEST 2011 x86_64 процессор Intel(R) Xeon(R) E5620 @ 2,40 ГГц GenuineIntel GNU / Linux

cat /proc/version

Linux версия 2.6.38-gentoo-r6 (root@tr1) (gcc версия 4.4.5 (Gentoo 4.4.5 p1.2, pie-0.4.5)) #4 SMP вт 27 сентября 11:24:13 EEST 2011

grep directio /etc/nginx/nginx.conf
[nothing]
grep open_file /etc/nginx/nginx.conf
open_file_cache max=2000 inactive=3600s;
[...]

Я ничего не знаю о отключении файлового кэша ядра. Я добавил и удалил open_file_cache в nginx.conf. Тем не менее, кажется, что nginx читает все прямо с диска. У нас есть несколько машин nginx с "идентичной" конфигурацией nginx (php upstream loadbalance, плюс статическая доставка файлов), которые ДОЛЖНЫ использовать открытый файловый кеш с гораздо меньшей нагрузкой ввода-вывода.

В этом случае на той же машине работает Apache.

iostat, iotop -o

Обычно показывают использование диска permant (отличается от нескольких идентичных балансировщиков нагрузки nginx на других машинах), nginx - это лучший ввод / вывод (статическая доставка файлов)

htop

Дает красивую картину ситуации со свободными / буферами / памятью. И подтверждает то, что бесплатно говорит. 1 Гб памяти используется процессами. Некоторые 6GB памяти не используются. Лишь небольшая часть этой оставшейся памяти используется для кэширования ядра (htop указывает, что это желтая часть использования памяти)

Мы хотели бы выяснить, почему nginx доводит дисковый ввод-вывод до 100%, в то время как остается несколько гигабайт оперативной памяти (для кэширования открытого файла ядра)

PS: Как я уже сказал, у нас работает несколько подобных балансировщиков php-upstream с дополнительной доставкой статических файлов с помощью nginx. Но только этот показатель приводит к высокой средней нагрузке из-за чрезмерного iowait, замедляя все остальное.

0 ответов

Другие вопросы по тегам