тюнинг ext3 и nginx под отдачу мелких файлов

топ 100 блогов ru_highload15.09.2010

Привет, коллеги!

Несколько дней пытаюсь решить проблему с повысившимся LA на сервере.

Имею DELL R510 с 6х2ТБ дисками в рейд50. Контроллер H700 с 512мб и батарейкой. 2 Quad с включенным HT.
Включен writeback и adaptive read ahead. размер страйпа 64кб.

Картинок на машине под 50млн штук в размере от 5-100кб. Последнее время наблюдают повышение LA из за повышения активности юзеров. Картинки на сервер пишутся постоянно, но это число не сравнить с чтением, которое намного превышает запись.

Перед сервером стоит CDN, поэтому определение наиболее популярных картинок и их кеширование - отпадает.
CDN чистит менее популярные картинки (по заходам/время) и вот эти новые реквесты  снова попадают на сервер.
Т.е. идут полностью рандомальные запросы на картинки.

Диск изначально я не форматировал, беря во внимание stride, да и не уверен, что это сильно увеличит производительност. Тем более морочиться с временным переводом сервиса куда-то из за формата диска тоже не хочется особо. Гемор еще тот. 
 
Разумеется, что основные настройки произвел, типа монтирование с noatime, data=writeback и даже увеличил время коммита в журнал.  Не могу сказать что writeback и коммит сильно помогли. только noatime.

с schedulers играл, но deadline/cfq дают примерно тоже самое, а остальные только выносят мозг системе.
с настройками в /sys/block/sdb/queue тоже игрался (read_ahead / nr_requests) , но особо ничего не изменилось.

Диск как загружен на все 100%, так и имеется, тут-там выигрыш небольшой по LA, но это все может быть списано на активность юзеров в тот или иной момент.

в nginx тоже особо не тюнил, дифолтные настройки работают прекрасно и все остальное ничего не дает.
worker_processes  16;
worker_rlimit_nofile 8192;

events {
    worker_connections 4096;
    use epoll;
}

    sendfile        on;
    tcp_nopush     off;
    tcp_nodelay        on;
    keepalive_timeout  5;

    output_buffers 2 64k;

Логи пишутся на отдельный партишен.

В общем, очень надеюсь, что я не исчерпал всего и можно таки улучшить быстродействие системы, хотя, у меня смутное подозрение, что ничего не выйдет.

Собираемся поднимать похожий проект и на этот раз уже поставлю RAID10 из 8 дисков, это уж точно должно дать то, что нужно. Ну и stride попробую, хуже не будет.

LA в тихие часы около 2х, а в пике работы уходит в 8-9.

Буду благодарен за любую помощь!

Оставить комментарий

Архив записей в блогах:
Когда я летом лежала в больнице мне назначили лечебную гимнастику, в том числе и в процессе показали как делать не надо. На первом занятии я выдохлась уже через пять минут, при условии, что гимнастика проходит лёжа. Прошло четыре месяца, моих сил ...
...
Дорогая Малка! Благодарю Вас за радость от прочтения искрометных и мудрых ответов. Мне очень сложно структурировать информацию. Я школьный психолог ,мне 48 лет, развелась 5 лет назад. Двое детей 23 г сыну и 16 лет дочке. Дети живут со мной, с мужем прожили 20 ...
...
Поскольку выходные и заняться есть чем, хочу предложить вам простенький вопрос. В разделе Android я затеял конкурс на тему у кого какой телефон с "роботом" и какое используется ПО. Накатали уже семьдесят комментариев и интересно. Но здесь я бы хотел ...