The OpenNET Project / Index page

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

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
Тип: английский / Справочная информация
Ключевые слова: tcp, socket, gcc, linux, tune, speed, optimization, buffer
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Skif, 14:30, 20/01/2006 [ответить] [смотреть все]
  • +/
    Как по мне, то это чудесно описано у Стивенса "UNIX разработка сетевых приложений" 7.9 - Параметры сокетов, стр. 245 Питерского издания.
    Хотя все же приучать к такой быстродейственности иногда вредна. Таким образом программеры конечно повысят производительность на тестовом стенде, но в реальных условиях мелкими пакетами забьют всю полосу пропускания.
     
     
  • 2.2, Serega_S, 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:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor