В статье
приведены примеры (с исходными кодами)
реализации TCP/IP сервера, с тестами
производительности
Простой последовательный
сервер
Классический
параллельный сервер
Сервер с предварительным
созданием копий процесса
Сервер активируемый
суперсервером (xinetd)
Параллельный сервер,
создающий потоки по запросам
Сервер с предварительным
созданием потоков
Оптимальное управление
потоками (пул)
Последовательный
сервер с очередью обслуживания
Что само по себе
поучительно и полезно. Лет пятнадцать
назад за такую статью я бы душу продал.
А автор, к тому, не поленился разьяснить
читателю невозможность дать однозначную
оценку — плохой сервер/хороший сервер:
было показано семь видов различных альтернативных технологий построения сервера TCP/IP, а с учётом обсуждаемых вариаций и высказанных соображений — и того больше. Приведены сравнительные характеристики по задержке времени получения ответа (время реакции). Но вот вопрос: могут ли эти или подобные им результаты служить критерием разграничения: вот эта техника сервера хороша, а вот та — плоха? Ни в коем случае!
…
Всё определяется теми
задачами, которые решает сервер, и тем
окружением, в котором он функционирует.
Могут оказаться области, где наилучшим
решением окажется простейший
последовательный сервер. И тем более,
что для описываемых вариантов мы никак
не затрагивали рассмотрением такие
стороны, как: трудоёмкость реализации,
потребление ресурсов (в частности RAM),
простота отладки, сопровождения и другие
аспекты.
Очень полезная
статья.
Комментариев нет:
Отправить комментарий