Культурный офтопик
 help / color / mirror / Atom feed
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ование.



  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