The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

20.01.2006 13:05

В статье "Boost socket performance on Linux" описаны некоторые способы увеличения производительности сетевых приложений, написанных с использованием API сокетов.

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

  1. Главная ссылка к новости (http://www-128.ibm.com/develop...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/6836-tcp
Ключевые слова: tcp, socket, gcc, linux, tune, speed, optimization, buffer
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (6) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Skif (ok), 14:30, 20/01/2006 [ответить]  
  • +/
    Как по мне, то это чудесно описано у Стивенса "UNIX разработка сетевых приложений" 7.9 - Параметры сокетов, стр. 245 Питерского издания.
    Хотя все же приучать к такой быстродейственности иногда вредна. Таким образом программеры конечно повысят производительность на тестовом стенде, но в реальных условиях мелкими пакетами забьют всю полосу пропускания.
     
     
  • 2.2, Serega_S (ok), 06:28, 21/01/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вот, для того по-дефолту алгоритм Негеля и включен. А выключать его стоит только тогда, когда необходимо передавать маленькие пакеты и их нужно срочно получать. Для обычных же преложений он должен быть включен.
     

  • 1.3, pavlinux (??), 12:06, 21/01/2006 [ответить]  
  • +/
    Вот только не ясно, нафига делать
    rmem_max и wmem_max одинаковые с
    rmem_default, wmem_default
     
  • 1.4, serge (??), 15:24, 23/01/2006 [ответить]  
  • +/
    странная статья. прописные истины описаны, а, например, про TCP_CORK [tcp(7)] ни слова. :-/
     
     
  • 2.5, pavlinux (??), 22:02, 23/01/2006 [^] [^^] [^^^] [ответить]  
  • +/
    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 уже сам стандарт. ;)

     
     
  • 3.6, serge (??), 08:55, 24/01/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Если я правильно понимаю буквы, статья называется "Boost socket performance on Linux". Ключевое слово - Linux.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру