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

Исходное сообщение
"OpenNews: Советы по оптимизации для разработчиков сетевых приложений"

Отправлено opennews , 20-Янв-06 14:30 
В статье "Boost socket performance on Linux (http://www-128.ibm.com/developerworks/linux/library/l-hisock...)" описаны некоторые способы увеличения производительности сетевых приложений, написанных с использованием API сокетов.

Рекомендуется отключить накопление пакетов (алгоритм Нагеля) через  TCP_NODELAY в setsockopt, минимизировать число вызовов write/read,  подобрать оптимальный размер плавающего TCP окна (SO_SNDBUF/SO_RCVBUF в setsockopt), провести тюнинг TCP/IP стека в Linux.

URL: http://www-128.ibm.com/developerworks/linux/library/l-hisock...
Новость: http://www.opennet.ru/opennews/art.shtml?num=6836


Содержание

Сообщения в этом обсуждении
"Советы по оптимизации для разработчиков сетевых приложений"
Отправлено Skif , 20-Янв-06 14:30 
Как по мне, то это чудесно описано у Стивенса "UNIX разработка сетевых приложений" 7.9 - Параметры сокетов, стр. 245 Питерского издания.
Хотя все же приучать к такой быстродейственности иногда вредна. Таким образом программеры конечно повысят производительность на тестовом стенде, но в реальных условиях мелкими пакетами забьют всю полосу пропускания.

"Советы по оптимизации для разработчиков сетевых приложений"
Отправлено Serega_S , 21-Янв-06 06:28 
Вот вот, для того по-дефолту алгоритм Негеля и включен. А выключать его стоит только тогда, когда необходимо передавать маленькие пакеты и их нужно срочно получать. Для обычных же преложений он должен быть включен.

"Советы по оптимизации для разработчиков сетевых приложений"
Отправлено pavlinux , 21-Янв-06 12:06 
Вот только не ясно, нафига делать
rmem_max и wmem_max одинаковые с
rmem_default, wmem_default

"Советы по оптимизации для разработчиков сетевых приложений"
Отправлено serge , 23-Янв-06 15:24 
странная статья. прописные истины описаны, а, например, про TCP_CORK [tcp(7)] ни слова. :-/

"Советы по оптимизации для разработчиков сетевых приложений"
Отправлено pavlinux , 23-Янв-06 22:02 
TCP_CORK
     If  set,  don't  send  out partial frames.  All queued partial frames
are sent when the option is cleared again. This is useful for prepending
headers before calling sendfile(2), or for throughput optimization. This
option can be combined with TCP_NODELAY only since  Linux  2.5.71.
This option should not be used in code intended to be portable.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Или, а ну пошли они все нафиг, Linux уже сам стандарт. ;)


"Советы по оптимизации для разработчиков сетевых приложений"
Отправлено serge , 24-Янв-06 08:55 
Если я правильно понимаю буквы, статья называется "Boost socket performance on Linux". Ключевое слово - Linux.