URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 13428
[ Назад ]

Исходное сообщение
"OpenNews: Как Yahoo оптимизирует работу своих серверов"

Отправлено opennews , 30-Янв-06 22:36 
В документе  "Hacking Apache HTTP Server at Yahoo! (http://public.yahoo.com/~radwin/talks/yapache-apachecon2005.htm)" (PDF версия (http://public.yahoo.com/~radwin/talks/yapache-apachecon2005.pdf)) рассказывается как организована работа Apache на серверах работающих под управлением FreeBSD и Linux в Yahoo,  какие действия предпринимаются для того чтобы выжать максимальную производительность.


Во второй презентации  "HTTP Caching and Cache-busting for Content Publishers (http://public.yahoo.com/~radwin/talks/http-caching-apachecon...)" (PDF версия (http://public.yahoo.com/~radwin/talks/http-caching-apachecon...)) говориться об используемых в Yahoo технологиях кэширования динамического и статического контента.


В 2002 году Yahoo перешла на использование PHP в качестве основного языка для  web-разработки, в обзоре "PHP at Yahoo! (http://public.yahoo.com/~radwin/talks/php-at-yahoo-zend2005.pdf)" показано как удалось вписать PHP в инфраструктуру Yahoo и почему был выбран именно PHP. Основная дилемма была mon_php  или mod_perl, по производительности при большой нагрузке mod_perl  выигрывал, но требовал для работы больше памяти.

На сайте Игоря Сысоева можно найти (http://www.sysoev.ru/#13.01.2006) интересный комментарий, по вопросу оптимизации через увеличение буфера сокета во FreeBSD, позволю себе процитировать текст:


"<small>Время общения Apache с клиентом сведено к минимуму — ровно для того, чтобы скопировать запрос и ответ: сначала запрос клиента полностью принимается accept-фильтром httpready, а затем весь ответ записывается в огромный, 224K, буфер сокета, после чего сокет сразу же закрывается (-DNO_LINGCLOSE). У этого метода есть и преимущества, и недостатки. Один из недостатков — суммарный объём данных, который можно использовать под буфера сокетов (mbuf clusters) около 360M, по крайней мере, во FreeBSD/i386 4.x с адресным пространством ядра в 1G. Это означает, что при среднем размере ответа в 50K одна машина может обслуживать примерно до 7,000 одновременных соединений. Впрочем, во FreeBSD 6.0 и на amd64 этот объём должен быть больше. Кроме того, адресное пространство ядра может увеличить до 2G или даже до 3G. Одно из преимуществ — возможность быстро отдавать в большое TCP window клиента, но, с другой стороны, без keep-alive это окно приходится разгонять каждый раз заново.</small>"


URL: http://public.yahoo.com/~radwin/talks/yapache-apachecon2005.htm
Новость: http://www.opennet.ru/opennews/art.shtml?num=6887


Содержание

Сообщения в этом обсуждении
"Как Yahoo оптимизирует работу своих серверов"
Отправлено Аноним , 30-Янв-06 23:16 
В тексте не говорится, что в Yahoo работают сервера под Linux.

"Как Yahoo оптимизирует работу своих серверов"
Отправлено Free , 31-Янв-06 07:28 
Но, тем не менее, упоминается как увеличивать SendBufferSize и для Фри, и для Линуха.

"Как Yahoo оптимизирует работу своих серверов"
Отправлено злобный , 31-Янв-06 07:36 
а что будет если ответ превышает 224 кб ?
будет резаться на части по 224 ?

"Как Yahoo оптимизирует работу своих серверов"
Отправлено Игорь Сысоев , 31-Янв-06 21:13 
Нет, не будет резаться. По мере освобождения буфера Апач будет добавлять в него данные. Проблема в том, что если клиент медленный, то Апач будет его ждать в течение времени, необходимого для передачи полного ответа минус 224К. Очевидно, ответы этих серверов укладываются в 224К.

"Как Yahoo оптимизирует работу своих серверов"
Отправлено Алексей , 01-Фев-06 01:51 
А что, если ответ укладывается в 224К - то Апач его засунет в буфер, и на этом обработку запроса закончит? Т. е. сразу будет готов работать с другим подключением?

"Как Yahoo оптимизирует работу своих серверов"
Отправлено Игорь Сысоев , 01-Фев-06 09:00 
При условии, что Апач собран с -DNO_LINGCLOSE, да, сразу готов работать с другим соединением.

"Как Yahoo оптимизирует работу своих серверов"
Отправлено toivo , 31-Янв-06 18:08 
Лесом ответ такого размера. Хотя всякое случается...

"Как Yahoo оптимизирует работу своих серверов"
Отправлено volos , 31-Янв-06 21:24 
Там Linux/FreeBSD

"Как Yahoo оптимизирует работу своих серверов"
Отправлено RomanG , 19-Фев-06 10:32 
Вот тут можно посмотреть, на чем Максим этот сервер (http://www.opennet.ru/) делал (вторая половина странички):
http://www.opennet.ru/guide.shtml