- Программирование серверов, angra, 06:14 , 19-Янв-09 (1)
В чем проблема с 1000 параллельных подключений, кроме необходимости поправить лимиты? Напишите простейшую без всяких задержек реализацию на скриптовом языке, например perl, и посмотрите как оно будет функционировать.
- Программирование серверов, weldpua2008, 00:37 , 20-Янв-09 (2)
>В чем проблема с 1000 параллельных подключений, кроме необходимости поправить лимиты? Напишите >простейшую без всяких задержек реализацию на скриптовом языке, например perl, и >посмотрите как оно будет функционировать. Ну..эм... Я думаю что если к апачу подключатся 500 человек, то уже будет сложненько ему %) И думаю что на перле оно примерно столько же будет хавать %) ЗЫ: Хочу правильно делать, ибо неправильно можно всегда успеть...
- Программирование серверов, angra, 01:17 , 20-Янв-09 (3)
Не надо путать теплое с мягким. Апачу, который принимает соединения, в общем-то по барабану. Вот только на каждое(mod_prefork) соединение порождается потомок, который очень много кушает памяти, особенно с mod_php и подобным. В результате кончается память, но не лимит соединений. Надеюсь вы не собираетесь форкаться на каждое подключение. На практике 500+ одновременных исходящих(особой разницы со входящими в данном случае нет) соединений из перлового скрипта проблемы не составляют, ближе к 1024 начинаем получать отлуп от ядра о невозможности бинда сокета, то бишь утыкаемся в какой-то лимит. Искать переменную за это отвечающую мне было лень, так как нескольких сотен вполне хватало. в любом случае, что вам мешает написать за полчаса прототип на скриптовом языке и проверить его?
- Программирование серверов, angra, 01:29 , 20-Янв-09 (4)
Все выше сказанное не исключает того, что вы упретесь в производительность процессора или пропускную способность сетевой карты. Но это уже совсем другая задача. Если у вас есть желание, а у меня будет время, то могу даже дать пример клиента(хотя его можно спокойно заменить на ab) и сервера на перле, демонстрирующих работу с большим количеством соединений.
- Программирование серверов, weldpua2008, 02:24 , 20-Янв-09 (5)
Я про апач почему сказал? Потому что при таком количестве соединений он отъесть дофига памяти, так же и прототип на перле, если просто держать это все в памяти :)
- Программирование серверов, angra, 02:32 , 20-Янв-09 (6)
Ну это вам виднее, что вы собираетесь отдавать клиентам и какой объем данных на каждого клиента _всегда_ храните в памяти. При использовании select без тредов разбросанных по физическим процессорам вы в каждый момент времени обслуживаете одного клиента, хотя в целом создается впечатление одновременной обработки.
- Программирование серверов, weldpua2008, 11:54 , 20-Янв-09 (7)
ну Я понял тоже так:) Вот только select - медленно, ну ладно заменем на kq*, но вся проблема в том, что данные хранятся в ДБ, а это значит что если будут блокировки со стороны неё то всё будет тормозит(это Я про FSM-модель)... Ладно - это чисто теория, которую Я вроде понял, а вот где почитать практику?...В этом вопрос
- Программирование серверов, angra, 16:30 , 20-Янв-09 (12)
>вся проблема в том, что данные хранятся в ДБ, а это значит что если будут блокировки со стороны неё то всё будет тормозит(это Я про FSM-модель)Типа в других моделях база волшебным образом ускорится. Кроме того что мешает использовать select и для БД? Ну и memcached может быть полезным. >Ладно - это чисто теория, которую Я вроде понял, а вот где почитать практику?...В этом вопрос Вы же в начальном посте перечислили ссылки с описанием методов, вопрос у вас был только в количестве соединений, так чего вам еще надо?
- Программирование серверов, vic, 13:26 , 20-Янв-09 (8)
>На практике 500+ одновременных исходящих(особой разницы со входящими в данном случае нет) >соединений из перлового скрипта проблемы не составляют, ближе к 1024 начинаем >получать отлуп от ядра о невозможности бинда сокета, то бишь утыкаемся >в какой-то лимит.именно бинда сокета или его создания? сами сокеты это те же дескрипторы и на них распространяется ulimit -n (равный обычно 1024).
- Программирование серверов, weldpua2008, 13:56 , 20-Янв-09 (9)
>>На практике 500+ одновременных исходящих(особой разницы со входящими в данном случае нет) >>соединений из перлового скрипта проблемы не составляют, ближе к 1024 начинаем >>получать отлуп от ядра о невозможности бинда сокета, то бишь утыкаемся >>в какой-то лимит. > >именно бинда сокета или его создания? >сами сокеты это те же дескрипторы и на них распространяется ulimit -n >(равный обычно 1024). ПАМЯТЬ и процессор
- Программирование серверов, vic, 14:01 , 20-Янв-09 (10)
>>именно бинда сокета или его создания? >>сами сокеты это те же дескрипторы и на них распространяется ulimit -n >>(равный обычно 1024). > >ПАМЯТЬ и процессор это к чему вообще?
- Программирование серверов, angra, 15:57 , 20-Янв-09 (11)
Не помню уже, вполне возможно что из-за лимита дескрипторов, мне было неинтересно :)
- Программирование серверов, Michelnok, 17:36 , 20-Янв-09 (13)
|