откуда iowait?

12
S
На сайте с 21.05.2012
Offline
11
1048

Привет, досталась вот такая файлопомойка (почему так сделано - не ко мне, работаем с тем что есть): 2.6.18, 4 ядра, 12g RAM, и 12 дисков отдельных дисков (не в рейде) ext3. Из софта стоит nginx 1.4.1 с прослойкой в виде перлового модуля который парсит URL.

Не могу понять откуда iowait +изредка юзера жалуются на рваную скорость:

# iostat -x

Linux 2.6.18-348.6.1.el5 (hosted-by.leaseweb.com) 06/12/2013

avg-cpu: %user %nice %system %iowait %steal %idle
0.91 0.06 3.80 9.11 0.00 86.11

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
hda 0.19 1.69 0.66 1.22 34.72 23.24 30.93 0.12 61.52 6.70 1.26
hda1 0.00 0.00 0.00 0.00 0.01 0.00 16.32 0.00 14.60 12.26 0.00
hda2 0.18 1.69 0.66 1.22 34.72 23.24 30.93 0.12 61.53 6.70 1.26
hdc 0.42 7.69 0.98 1.55 56.77 73.95 51.64 0.42 166.93 8.85 2.24
hdc1 0.42 7.69 0.98 1.55 56.77 73.95 51.64 0.42 166.93 8.85 2.24
sda 4.31 37.24 8.04 2.02 1854.76 314.05 215.59 0.79 78.47 4.69 4.72
sda1 4.31 37.24 8.04 2.02 1854.76 314.05 215.59 0.79 78.47 4.69 4.72
sdb 4.10 27.63 9.36 1.67 1949.81 234.34 198.06 0.86 77.65 6.56 7.23
sdb1 4.10 27.63 9.36 1.67 1949.81 234.34 198.06 0.86 77.65 6.56 7.23
sdc 3.15 26.31 6.59 1.68 1450.19 223.90 202.52 0.60 72.42 4.10 3.39
sdc1 3.15 26.31 6.59 1.68 1450.19 223.90 202.52 0.60 72.42 4.10 3.39
sdd 4.25 22.00 9.53 1.31 2006.57 186.50 202.22 0.50 46.03 6.08 6.59
sdd1 4.25 22.00 9.53 1.31 2006.57 186.50 202.23 0.50 46.03 6.08 6.59
sde 4.46 35.29 9.26 2.26 2011.38 300.39 200.79 0.83 72.08 5.19 5.98
sde1 4.46 35.29 9.26 2.26 2011.38 300.39 200.79 0.83 72.08 5.19 5.98
sdf 4.45 34.64 8.94 2.01 2012.58 293.23 210.52 0.74 67.20 5.37 5.88
sdf1 4.45 34.64 8.94 2.01 2012.58 293.23 210.52 0.74 67.20 5.37 5.88
sdg 4.25 28.01 8.06 1.65 1849.36 237.29 215.00 0.65 66.73 5.06 4.92
sdg1 4.25 28.01 8.06 1.65 1849.36 237.29 215.00 0.65 66.73 5.06 4.92
sdh 5.10 40.58 10.83 2.59 2370.35 345.36 202.45 0.94 69.72 5.90 7.92
sdh1 5.10 40.58 10.83 2.59 2370.35 345.36 202.45 0.94 69.72 5.90 7.92
sdi 4.54 24.08 10.48 1.48 2137.89 204.47 195.85 0.54 45.53 5.92 7.08
sdi1 4.54 24.08 10.48 1.48 2137.89 204.47 195.85 0.54 45.53 5.92 7.08
sdj 4.54 24.51 9.20 1.46 2066.17 207.73 213.43 0.56 52.81 6.60 7.03
sdj1 4.54 24.51 9.20 1.46 2066.16 207.73 213.43 0.56 52.81 6.60 7.03
sdk 4.29 27.83 8.83 1.58 1966.88 235.25 211.67 0.49 47.57 5.65 5.88
sdk1 4.29 27.83 8.83 1.58 1966.87 235.25 211.68 0.49 47.57 5.65 5.88
sdl 4.65 29.56 8.83 1.78 2011.72 250.76 213.31 0.66 62.13 4.70 4.98
sdl1 4.65 29.56 8.83 1.78 2011.72 250.76 213.31 0.66 62.13 4.70 4.98
sdm 5.11 32.15 10.25 1.78 2270.35 271.40 211.34 0.77 63.74 5.92 7.12
sdm1 5.11 32.15 10.25 1.78 2270.35 271.40 211.34 0.77 63.74 5.92 7.12
sdn 4.82 33.34 9.54 1.92 2165.08 282.05 213.45 0.64 55.42 6.06 6.95
sdn1 4.82 33.34 9.54 1.92 2165.08 282.05 213.45 0.64 55.42 6.06 6.95
sdo 3.60 22.77 7.12 1.40 1619.86 193.38 212.94 0.50 59.19 4.68 3.98
sdo1 3.60 22.77 7.12 1.40 1619.86 193.38 212.94 0.50 59.19 4.68 3.98
sdp 5.62 27.23 11.02 1.58 2450.95 230.52 212.72 0.62 49.47 5.95 7.50
sdp1 5.62 27.23 11.02 1.58 2450.95 230.52 212.72 0.62 49.47 5.95 7.50
sdq 5.09 26.87 10.04 1.53 2255.79 227.24 214.61 0.55 47.81 5.59 6.47
sdq1 5.09 26.87 10.04 1.53 2255.79 227.24 214.61 0.55 47.81 5.59 6.47
sdr 3.69 24.95 7.28 1.44 1652.70 211.09 213.86 0.44 50.02 4.65 4.05
sdr1 3.69 24.95 7.28 1.44 1652.70 211.09 213.87 0.44 50.02 4.65 4.05
sds 3.21 20.14 6.36 1.15 1437.99 170.34 214.23 0.36 48.12 4.47 3.36
sds1 3.21 20.14 6.36 1.15 1437.99 170.34 214.23 0.36 48.12 4.47 3.36
sdt 3.45 28.50 7.01 1.60 1555.10 240.77 208.48 0.58 67.37 5.57 4.80
sdt1 3.45 28.50 7.01 1.60 1555.10 240.77 208.48 0.58 67.37 5.57 4.80
sdu 5.06 22.28 10.95 1.23 2349.77 188.07 208.40 0.50 41.02 6.00 7.30
sdu1 5.06 22.28 10.95 1.23 2349.77 188.07 208.40 0.50 41.02 6.00 7.30
sdv 3.00 22.78 5.74 1.38 1316.11 193.33 211.91 0.43 61.06 3.97 2.83
sdv1 3.00 22.78 5.74 1.38 1316.10 193.33 211.92 0.43 61.07 3.97 2.83
sdw 4.36 27.58 9.81 1.62 2040.55 233.64 198.95 0.56 49.17 5.50 6.29
sdw1 4.36 27.58 9.81 1.62 2040.55 233.64 198.95 0.56 49.17 5.50 6.29
sdx 5.12 28.28 10.12 1.60 2294.15 239.04 216.18 0.55 47.30 5.12 6.00
sdx1 5.12 28.28 10.12 1.60 2294.14 239.04 216.18 0.55 47.30 5.12 6.00
dm-0 0.00 0.00 2.26 12.15 91.48 97.19 13.10 2.56 177.54 2.22 3.20
dm-1 0.00 0.00 0.00 0.00 0.00 0.01 8.00 0.00 74.62 1.91 0.00

Конфиг nginx

worker_processes  4;

worker_rlimit_nofile 30000;
worker_rlimit_sigpending 32768;

error_log logs/error.log error;

#pid logs/nginx.pid;


events {
worker_connections 4096;
}


http {
include mime.types;
default_type application/octet-stream;

access_log off;
limit_conn_log_level info;

sendfile off;
tcp_nopush off;
reset_timedout_connection on;
output_buffers 1 1m;
tcp_nodelay off;

open_file_cache max=1000 inactive=20s;
open_file_cache_valid 60s;
open_file_cache_min_uses 1;
open_file_cache_errors on;

Скорость по поддоменам (=дискам) ограничивается через limit_rate, limit_conn

Перепробовал уже разные настройки nginx, iowait особо не меняется.

Есть у кого идеи?

Администрирование и мониторинг серверов (http://servcare.com)
VO
На сайте с 27.07.2008
Offline
149
#1

Servcare, вы серьезно считаете, что этого достаточно, чтобы попытаться решить вашу проблему?

S
На сайте с 21.05.2012
Offline
11
#2
V(o)ViK:
Servcare, вы серьезно считаете, что этого достаточно, чтобы попытаться решить вашу проблему?

Спасибо за ценный комментарий. Какая инфа еще нужна?

VO
На сайте с 27.07.2008
Offline
149
#3

Из простого, поставьте munin, настройте статистику по каждому диску, по трафику, статусу nginx.

Прогоните smartctl long test по всем дискам, посмотрите результаты.

Кроме nginx на сервере ничего нет больше?

Когда будет статистика хотя бы за сутки соотнесите iowait с нагрузкой на сеть, на кол-во запросов к nginx и т.д.

Какой процессор в сервере?

Что значит "файлопомойка" и как она связана с парсингом URL?

Это CentОS 5?

Проверьте охлаждение.

S
На сайте с 21.05.2012
Offline
11
#4

файлопомойка - картинки, песни, видео. Парсинг URL для защиты от лича и для выставления скорости.

Кроме nginx ничего нет.

По графикам пока есть такое:

png 124836.png
png chart2.png
Evas EvaSystems
На сайте с 31.05.2012
Offline
116
#5

atop утилитка с опцией -d поможет вам увидеть, что грузит диск.

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
S
На сайте с 21.05.2012
Offline
11
#6
Evas:
atop утилитка с опцией -d поможет вам увидеть, что грузит диск.

Там ожидаемо nginx. И опять же каждый диск busy% меньше 10, хотя я думаю это какой-то бесполезный каунтер.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#7

Смотрите графики утилизации дисков.... Обычно слабые места именно там... Совет про long test так же поддерживаю, не исключено что парочка винтов его не пройдут :D Если нет баз данных а только отдача картинок и песен... то скорее всего тормозят винты (че-то мне так кажется).

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
VO
На сайте с 27.07.2008
Offline
149
#8

А размеры файлов у Вас какие?

sendfile и tcp_nopush по каким соображениям отключены?

directio,aio?

Servcare:
Перепробовал уже разные настройки nginx, iowait особо не меняется.

Что именно пробовали делать? Изменения в любом случае должны быть, нужно их анализировать.

S
На сайте с 21.05.2012
Offline
11
#9
V(o)ViK:
А размеры файлов у Вас какие?
sendfile и tcp_nopush по каким соображениям отключены?
directio,aio?

Что именно пробовали делать? Изменения в любом случае должны быть, нужно их анализировать.

Нагрузку в основном создают большие файлы (от 200мб). Ядро старое для aio к сожалению, с sendfile ситуация ухудшилась (Дунин, девелопер nginx писал что под такого рода нагрузками лучше без него). Большее кол-во воркеров тоже не помогало (думал может проблема в кол-во устройств хранения)

---------- Добавлено 12.06.2013 в 15:05 ----------

Romka_Kharkov:
Смотрите графики утилизации дисков.... Обычно слабые места именно там... Совет про long test так же поддерживаю, не исключено что парочка винтов его не пройдут :D Если нет баз данных а только отдача картинок и песен... то скорее всего тормозят винты (че-то мне так кажется).

в первом посте указаны данные iostat %util, о какой еще утилизации идет речь?

Кстати забыл упомянуть что данные скрипт размазывает равномерно по дискам, и судя по lsof читаются тоже. Т.е нет такого чтоб один диск был полностью забит

long test прогоню чуть позже

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Храните популярные файлы в RAM и отдавайте их оттуда

Не стоит плодить сущности без необходимости
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий