Re: балансинг по жестким дискам

Монашёв Михаил postmaster at softsearch.ru
Tue Jan 13 13:02:20 MSK 2009


Здравствуйте, Gena.

> за  один  раз nginx считает с диска не более sendfile_max_chunk байт
> когда  он  обратится  к  диску за следующим chunk`ом этого же файла,
> (при  высокой  нагрузке)  -  исходный диск к тому моменту уже успеет
> обработать  несколько  других  запросов  на  чтение  chunk`ов других
> файлов,  надо  будет  снова  производить  операцию  позиционирования
> головок диска.

Это  не  совсем так. У SAS винтов есть TCQ, которая выстроит запросы к
диску  в оптимальную очередь. Количество и время сиков TCQ увеличивает
очень значительно.

> если к одному диску "жестко" привязать запросы на file1 и file2,
> причем, file1 находится в начале диска, а file2 - в конце диска,
> в этом случае диском достаточно много времени будет тратиться
> на позиционирование головок при попеременном считывании chunk`ов
> этих файлов nginx`ом. (оба файла ведь считываются последовательно)

> насколько я понимаю, если в gmirror пофиксить балансировщик load,
> то можно будет использовать gmirror -b load и получить в FreeBSD
> большую производительность, чем сейчас при gmirror -b round-robin?

Уже фиксили. Я пробовал патчи. Только хуже становится :-) Иначе патч
уже включили бы во Фрю.

> и возможно, даже получится большая производительность,
> чем при "ручной" привязке запросов к различным дискам?

> http://www.freebsd.org/cgi/query-pr.cgi?pr=113885

> или же проблема в том, что GEOM слишком сильно абстрагируется
> от дисковой подсистемы, - он ничего не знает про позиционирование
> головок жесткого диска и поэтому load всеравно будет неоптимальным?

-- 
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.






More information about the nginx-ru mailing list