From: "Денис Смирнов" <mithraen@altlinux.ru>
To: shigorin@gmail.com, "культурный офтопик" <smoke-room@lists.altlinux.org>
Subject: Re: [room] Linux, FreeBSD, Solaris
Date: Fri, 31 Mar 2006 22:47:23 +0400
Message-ID: <20060331184723.GB7060@localhost.localdomain> (raw)
In-Reply-To: <20060331105021.GG21465@osdn.org.ua>
On Fri, Mar 31, 2006 at 01:50:21PM +0300, Michael Shigorin wrote:
MS> Это с какого перепугу? Если ты не следил последние лет пять за
MS> тем, как происходит развитие этих ядер по части SMP, то более чем
MS> предсказуемый результат. BKL, который у нас ещё в 2.2 довольно
MS> сильно изгнали, у них до сих пор местами водится (называется
MS> giant lock, правда).
MS> В контексте того, что основной нагрузкой был таки apache1, а не
MS> mysql или дисковая подсистема. Бишь даже то, что на фре до сих
MS> пор не могут с тредами разобраться (если не пользовать
MS> линуксовые, тихонько и не выпячиваясь) -- сильно не влияло.
Дисковая и SMP действительно однозначно лучше сейчас в Linux. Но мне
что-то не верится что 256 тредов это существенно для четырехголового
оптерона.
Уперлись во фре они наверняка именно в кривое SMP, но при правильной
настройке там и один процессор справился бы.
Во фре есть kevent, который судя по словам того же Сысоева заметно лучшее
API чем epoll имеет. В смысле меньше syscall'ов для того же результата
нужно. Это раз.
Во вторых, вечно забываю как называется решение, вроде socket filters --
то получения целиком заголовка http-запроса этот самый event сгенерирован
не будет, таким образом, если запрос был GET а не POST, то больше читать
из сокета нам не надо совсем. Одним read'ом читаем весь запрос, генерируем
ответ, отдаем. syscall'ы экономим, однако.
Ещё одна тонкость -- PHP. Часть времени ушло внутри него (напоминаю, что
php читает с диска/из кэша файл при каждом его запуске, если не
используется никаких "ускорителей").
>> Основной вывод этого теста, увы -- "Apache мерзкая дешевая
>> поделка". Но это я и без теста знаю :)
MS> Да ты гонишь. Там первый :)
Первый тоже мерзкая поделка для задачи быстрой раздачи многими потоками.
Потому как там как раз на переключения контекста большая часть времени и
уходит (не забывай, процесс == одно соединение).
>> Вот если бы сравнили поставив спереди фронтенд вроде того же
>> nginx (который как минимум на Linux и FreeBSD умеет эффективно
>> использовать новомодные фичи обеих систем), тогда это было бы
>> действительно интересно.
MS> (подумав) nginx бы нагрузки не создавал, т.е. можно считать этот
MS> тест на то, сколько бэкендов выдерживает такая система.
Именно.
Только, насколько я помню, всю жизнь разумное правило было ~4 процесса на
ядро. 4*4*2 = 32. Тест успешно показал, что для солярки это правило не
верно (что, в общем-то, тоже было известно, правда я не ожидал такой
разницы).
>> А человек, ставящий столь нагруженый web-сервер, что ему нужен
>> четырехголовый оптерон без reverse proxy либо ламер, либо
>> немножко не в курсе что нужно сделать, чтобы не выкидывать
>> столько денег впустую.
MS> Он вовсе не простак, почитай сам тест и форум, если интересно.
MS> Ссылка внизу, первые три страницы и два сообщения на четвёртой,
MS> что были на момент заглядывания -- со стороны автора теста более
MS> чем адекватны. И фронтэнд он тоже упоминает.
Я не так выразился. Именно _ставящий столь нагруженый web-сервер_, а не
проводящий тест. То бишь ты нашел самое правильное определение "тест
столько бэкендов держит система". Но никак не "какую нагрузку выдержит
web-сервер", просто потому что веб-сервера так не делают :)
Я уточню -- бэкендов на типичном хостинге одного нагруженного сайта без
использования акселераторов. Если бы это был простой виртуальный хостинг,
то заметно большая нагрузка была бы на дисковую подсистему.
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
У нас нет пpогpаммного обеспечения, зато есть беспечное
пpогpаммиpование.
next prev parent reply other threads:[~2006-03-31 18:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-30 18:24 Michael Shigorin
2006-03-30 22:18 ` Anatoly Yakushin
2006-03-31 8:45 ` Денис Смирнов
2006-03-31 10:50 ` Michael Shigorin
2006-03-31 18:47 ` Денис Смирнов [this message]
2006-03-31 19:23 ` Michael Shigorin
2006-03-31 19:49 ` Денис Смирнов
2006-04-01 5:02 ` Michael Shigorin
2006-04-01 8:49 ` Денис Смирнов
2006-04-01 10:40 ` Michael Shigorin
2006-04-03 20:30 ` mithraen
2006-04-04 8:27 ` Michael Shigorin
2006-04-04 10:50 ` Денис Смирнов
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060331184723.GB7060@localhost.localdomain \
--to=mithraen@altlinux.ru \
--cc=shigorin@gmail.com \
--cc=smoke-room@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Культурный офтопик
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
public-inbox-index smoke-room
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.smoke-room
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git