О! Ты-то мне и был нужен, кажется начитавшись твоих сообщений я начал диски форматировать. :)<br>sendfile отключить не могу - смерти подобно, точнее не подобно, а
сразу. Я так жил на апаче до 200 мегабит, а сейчас 400 - спасибо
nginx+sendfile.<br>
Поэтому этот вариант отпадает, хотя скажу честно - я его еще раз
попробовал прежде чем все диски откатывать обратно, еле остановить
успел - сервер закачался. Но без sendfile читает конечно умнее, если
говорить только о дисках. Но давайте вернемся к нашим баранам, у нас
есть матрица 2х2 - с патчем ядра от Сысоева и без и диски
отформатированные вот так:<br>
#newfs -O 2 -U -a 2 -b 65536 -d 65536 -e 65536 -f 8192 -g 16384 -h 64<br>или вот так:<br>newfs -O 2 -U -a 8 -b 16384 -d 16384 -e 2048 -f 2048 -g 16384 -h 64<br><br>Второй
вариант дефолтно-изначальный. Я накатил патчик ядра и sendfile сразу
стал читать 512 или 1024 килов за одну операцию чтения - где сколько
памяти можно было на серверах отдать под MAXPHYS - его тоже сразу
потюнил. Но мне этого показалось мало и я решил диски
переформатировать. И тут все стало хуже чем было, до патча и
форматирования читалось до 128 (дефолтный MAXPHYS), а теперь читается
только по 64, несмотря на патч и увеличенный MAXPHYS! Кто-то может
обьяснить почему? И что вообще тогда дает этот блок на диске по 64к?<br>
<br>А.<br><br><div class="gmail_quote">25 ноября 2008 г. 16:14 пользователь MZ <span dir="ltr">&lt;<a href="mailto:zuborg@advancedhosters.com">zuborg@advancedhosters.com</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
В пн, 24/11/2008 в 18:52 +0100, ArjLover пишет:<br>
<div><div></div><div class="Wj3C7c">&gt; Добрый день!<br>
&gt;<br>
&gt; У меня ряд серверов раздают большие фильмы и диски изрядно и постоянно<br>
&gt; нагружены. Решил воспользоваться двумя советами, чтобы облегчить им<br>
&gt; жизнь.<br>
&gt; Freebsd 6.3 nginx/0.7.21 sendfile on;<br>
&gt;<br>
&gt; для начала пересобрал ядро с MAXPHYS=1024*1024 и поднял<br>
&gt; kern.ipc.sfreadahead - заметно полегчало.<br>
&gt; параллельно на другом сервере отформатировал винчестеры с блоком 64kb<br>
&gt; - тоже появился прирост на 30%, но там не nginx.<br>
&gt; Воодушевленный решил скрестить оба метода.<br>
&gt;<br>
&gt; Отформатировал все винчестеры с блоком 64kb и тут случилась засада.<br>
&gt; nginx в жестком biord! все тормозит, скорость упала в два раза.<br>
&gt; смотрю iostat:<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; tty &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ad4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ad6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;da0<br>
&gt; cpu<br>
&gt; &nbsp;tin tout &nbsp;KB/t tps &nbsp;MB/s &nbsp; KB/t tps &nbsp;MB/s &nbsp; KB/t tps &nbsp;MB/s &nbsp;us ni sy<br>
&gt; in id<br>
&gt; &nbsp; &nbsp;0 &nbsp;233 64.00 &nbsp;90 &nbsp;5.62 &nbsp;64.00 &nbsp;54 &nbsp;3.37 &nbsp;280.25 &nbsp; 8 &nbsp;2.19 &nbsp; 4 &nbsp;0 11<br>
&gt; 15 70<br>
&gt; &nbsp; &nbsp;0 &nbsp; 78 64.00 &nbsp;91 &nbsp;5.68 &nbsp;64.00 &nbsp;53 &nbsp;3.31 &nbsp;218.12 &nbsp;16 &nbsp;3.40 &nbsp; 3 &nbsp;0 &nbsp;8<br>
&gt; 20 70<br>
&gt; &nbsp; &nbsp;0 &nbsp; 78 64.00 &nbsp;85 &nbsp;5.31 &nbsp;64.00 &nbsp;67 &nbsp;4.18 &nbsp;288.00 &nbsp; 14 &nbsp;3.25 &nbsp; 1 &nbsp;0<br>
&gt; 13 17 69<br>
&gt; &nbsp; &nbsp;0 &nbsp; 78 64.00 &nbsp;90 &nbsp;5.62 &nbsp;64.00 &nbsp;62 &nbsp;3.87 &nbsp;189.29 &nbsp;17 &nbsp;3.14 &nbsp; 2 &nbsp;0 12<br>
&gt; 17 68<br>
&gt; &nbsp; &nbsp;0 &nbsp; 78 64.00 &nbsp;91 &nbsp;5.68 &nbsp;64.00 &nbsp;56 &nbsp;3.50 &nbsp;151.58 &nbsp;33 &nbsp;4.88 &nbsp; 2 &nbsp;0 &nbsp;9<br>
&gt; 18 70<br>
&gt; &nbsp; &nbsp;0 &nbsp; 78 64.00 &nbsp;82 &nbsp;5.12 &nbsp;64.00 &nbsp;54 &nbsp;3.37 &nbsp;139.28 &nbsp;36 &nbsp;4.89 &nbsp; 2 &nbsp;0 11<br>
&gt; 18 68<br>
&gt; &nbsp; &nbsp;0 &nbsp; 78 64.00 &nbsp;89 &nbsp;5.56 &nbsp;64.00 &nbsp;60 &nbsp;3.75 &nbsp;245.82 &nbsp;22 &nbsp;5.28 &nbsp; 2 &nbsp;0 &nbsp;8<br>
&gt; 16 73<br>
&gt;<br>
&gt; Первые два - SATA, третий - системный скази, раздают все. Системный<br>
&gt; конечно переформатированию не подвергался.<br>
&gt; Вопрос - почему у всех винтов отформатированных с блоком 64kb, KB/t<br>
&gt; стабильно &nbsp;- 64.00 и плавают только tps? А у системного KB/t - заметно<br>
&gt; поприличнее!<br>
&gt;<br>
&gt; Но это когда работает только nginx, запускаю mc и копирую файл с диска<br>
&gt; на диск, несмотря на то что gstat говорит 90% занятости, файл<br>
&gt; копируется легко в 20+мег в секунду, а iostat показывает следующее:<br>
&gt; &nbsp; 0 &nbsp;358 512.00 108 53.95 &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp;512.00 108 53.95 &nbsp; 4 &nbsp;0 11<br>
&gt; 2 83<br>
&gt; &nbsp; &nbsp;0 &nbsp;331 512.00 105 52.45 &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp;512.00 105 52.45 &nbsp; 2 &nbsp;0<br>
&gt; 11 &nbsp;1 86<br>
&gt; &nbsp; &nbsp;0 &nbsp;491 512.00 108 53.95 &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp;512.00 108 53.95 &nbsp; 4 &nbsp;0<br>
&gt; 12 &nbsp;1 83<br>
&gt; &nbsp; &nbsp;0 &nbsp;361 512.00 109 54.45 &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp;512.00 109 54.45 &nbsp; 3 &nbsp;0<br>
&gt; 12 &nbsp;2 83<br>
&gt;<br>
&gt;<br>
&gt; Заветные 512, как завещал sfreadahead! И колечество операций tps даже<br>
&gt; практически не выросло! Ничего не понимаю! Можно как-то, без<br>
&gt; переформатирования всех дисков обратно, заставить nginx читать<br>
&gt; поумнее? или дело вообще в чем-то другом?<br>
<br>
</div></div>sendfile off;<br>
и будет читаться поумнее<br>
<br>
&gt; --<br>
&gt; Best regards,<br>
&gt; Anton Kuznetsov.<br>
</blockquote></div><br>