LINUX.ORG.RU

Сервер TCP/IP ... много серверов хороших и разных

 ,


0

1

Зачастую при необходимости написания TCP/IP сервера используются одна из двух классических технологий: последовательный сервер или параллельный сервер на основе fork(). Хотя реально можно предложить гораздо больше принципиально различных серверов, которые будут существенно отличаться своей сложностью, временем реакции на запрос клиента и другими показателями. В статье О.И. Цилюрика описано семь видов различных альтернативных технологий построения сервера TCP/IP, а с учётом обсуждаемых вариаций и высказанных соображений — и того больше. Приведены сравнительные характеристики по задержке времени получения ответа (время реакции).

>>> Подробности

★★★

Проверено: Shaman007 ()

man poll
man select

r ★★★★★ ()

завались примеров как писать с poll & eselect, epoll, kqueue через unix/tcp на libevent, libev, boost и тд. да шо там говорить: начиная с 2.6 ядро линупса поддерживает асинхронное io специально для возможности создания таких серверов. создали обвязку node.js чтобы даже самые маленькие были в теме. кипят жаркие срачи как лучше поддерживать многопоточность в полностью асинхронных системах

но тут на сцену выходит д'артаньян и постит свои мысли за 2003 год (facepalm)

punya ★★ ()

В работе отсутствует какая-либо обработка полученных числовых данных: 1) как распределены результаты измерений? 2) достаточно ли проведено измерений (20 замеров на каждый тест)? 3) неплохо бы построить доверительные интервалы (например, 95%). 4) а без интервалов непонятно, как сравнивать близкие результаты.

Ясно, что читатель может сам попытаться ответить на эти вопросы, но ожидается, что это сделает автор.

anonymous ()

Ожидаемо

На ЛОРе одни дебилы, которые путают строительные инструменты с чертежами.

Hug37r011 ()

Сижу... Думаю...

Интересно... Комментировать это старьё или просто порекомендовать пристрелить Шамана, чтоб он не мучился? Ну что ж так человек мучается-то? Нет бы Стивенса почитать (там про всё то же написано и более правдиво и больше картинок). Ну или вот это — man clock_gettime(3) почитать...

Там то же про пресловутый POSIX 1003.1b. Да и потом... Есть ещё такие вещи как настройки ядра, которые при конфигурации оного позволяют всякие там переменные повыставлять... Ага... Оно всё в районе Processor type and features обрящется. А говорят миллисекундный в Linux диапазон и всё тут... :))) А, простите, как же оно man clock_nanosleep(3) умеет?

А вот про то, почему не нужно пользовать RDTSC ненадобно вот тутачки написано — http://tdistler.com/2010/06/27/high-performance-timing-on-linux-windows

Шаман, умоляю Вас, скажите честно — диссер писать-с-с-с изволите? Да?

Расстрелять за ненадобностью...

anonymous ()
Ответ на: Сижу... Думаю... от anonymous

Re: Сижу... Думаю...

Ну и да... Тут выше уже прописали прочеcть что-нибудь про epoll_*() и прочая-прочая, в том числе и про c10k. http://www.kegel.com/c10k.html вот это да... Это имеет смысл. А вот кальки со Стивенса...

В газенваген, пожалуй.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.