Dиmon, невпалду разъяснить, чем сервер отличался от nginx и lighttp ? що еще быстрее?
[Ответ]
Dиmon 10:39 14.12.2006
Сообщение от netwind: Dиmon, невпалду разъяснить, чем сервер отличался от nginx и lighttp ? що еще быстрее?
нгинкс и лайт хоть и быстрые, но полноценные сервера. Моя же задача была написать сервер, который просто отдает файлы по заданному URI. При этом главным условием было минимальное потребление ресурсов (памяти и процессорного времени). Кроме этого сервер должен был автомасштабироваться под текущие потребности (то есть должен мочь обработать всех возможных клиентов одновременно, выделять больше ресурсов, если клиентов много, и сокращать, если запросы сократились). А так же сервер должен был уметь отдавать файлы по частям (Partial), определять изменение файлов (If-Modified-Since) ну и еще несколько фишек.
Получился сервер, который в бинарнике весит около 13Kb, в памяти при занимает 3 Mb + около 35Kb на каждого клиента. В итоге возможности файл-сервера (как компа) ограничиваются лишь пропускной способностью канала и скоростью доступа к диску. [Ответ]
netwind 10:45 14.12.2006
Dиmon, ну так тестирование проводили? кто лучше масшабируется и быстрее?
Не, я конечно рад за тебя если тебе удалось это продать)
Весьма в тему: даже при наличие на рынке на голову превосходящих конкурентов, софт тоже можно прибыльно продавать.
nginx жрет по 25кб на keep-alive клиента кстати.
[Ответ]
Dиmon 11:01 14.12.2006
Сообщение от netwind: Dиmon, ну так тестирование проводили? кто лучше масшабируется и быстрее?
Не, я конечно рад за тебя если тебе удалось это продать)
Весьма в тему: даже при наличие на рынке на голову превосходящих конкурентов, софт тоже можно прибыльно продавать.
nginx жрет по 25кб на keep-alive клиента кстати.
Честно говоря, серьезного профилирования я не проводил. Но думаю можно еще уменьшить потребление памяти в расчете на клиента, еще сильнее уменьшив размер стека для порождаемых потоков. Можно так же сократить буферы копирования/чтения, но только это приведет к лишним системным вызовам (на чтение файла и на запись в выходной буфер сокета), что скажется на производительности...
По поводу масштабирования: если имеется в виду применение сервера для различных задач, то мой вариант, пожалуй, проиграет. Из всех "внешних" настроек это указание папки, являющейся корнем веб-сервера, и списка соответствий контент-типов расширениям.
Dиmon, представь себе в nginx это все уже давно и наверняка лучше реализовано.
ниче не офтоп. расскажи пацанам как тебе удалось развести таких сказочных лохов [Ответ]
Dиmon 11:30 14.12.2006
Сообщение от netwind: Dиmon, представь себе в nginx это все уже давно и наверняка лучше реализовано.
ниче не офтоп. расскажи пацанам как тебе удалось развести таких сказочных лохов
Может и лучше, спорить не буду, так как с нгинксом сталкивался лишь однажды и очень поверхностно. Да и сорсы посмотреть не было нужды.
Скажу только, что заказчик - известная контора (имена называть не буду), и продуктом они весьма довольны. При чем я его не впаривал, а писал на заказ. Они сами на меня вышли.
Кстати, они пробовали и нгинкс с mod_accel, но он их по какой-то причине не устроил...
[Ответ]
К чему ирония? Если не терпится поглумиться, найдите себе другую жертву. Не вижу смысла продолжать дискурсию.
[Ответ]
netwind 12:17 14.12.2006
Дак действительно интересно, чем люди занимаются, если их nginx не устраивает. Был бы это microsoft с корпоративным требованием "вездевинда"- все встало бы на свои места.
[Ответ]
Dиmon 12:28 14.12.2006
Сообщение от netwind:
Дак действительно интересно, чем люди занимаются, если их nginx не устраивает. Был бы это microsoft с корпоративным требованием "вездевинда"- все встало бы на свои места.
Нет. Под виндой я давно не пишу. В частности сервер был написан для работы под FreBSD. А по поводу "почему же не nginx, раз о такой клевый?", скажу так: лучшее враг хорошему. Более того, меня совершенно не интересует, чем мотивировался заказчик. Мне предложили выполнимую работу, я ее сделал и получил адекватное вознаграждение.
[Ответ]