The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Максимально число сокетов, опрашиваемых select()"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Максимально число сокетов, опрашиваемых select()"
Сообщение от Максим Мороз Искать по авторуВ закладки on 03-Июл-02, 12:31  (MSK)
Столкнулся с тем, что FD_SETSIZE==1024, соответственно больше сокетов опрашивать не получается. Есть ли какие пути решения этой проблемы? Требуется открывать на каждого клиента порядка 6-10 сокетов, учитывая, что клиентов на один сервер планируется порядка 1000 (2-3 :)) ), то получается полная финя :)) Что посоветует многоуважаемый all? Сейчас я пытаюсь разбить клиентов на группы, чтобы каждую группу обслуживал свой процесс или нить.

И еще вопрос сильно ли будет грузиться VM Linux,FreeBSD и Solaris, если будет вертеться 1000-2000 потоков(threads). Есть ли какие-нить грабли?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Максимально число сокетов, опрашиваемых select()"
Сообщение от Арлекин emailИскать по авторуВ закладки on 03-Июл-02, 15:20  (MSK)
Могу сказать только по соляре.
>Столкнулся с тем, что FD_SETSIZE==1024, соответственно больше сокетов опрашивать не получается. Есть
>ли какие пути решения этой проблемы?
У сантехников на сайте полно доки и среди админских руководств есть инструкция по настройке ядра. Что-то типа "Tuning parameters". Там написано, как можно изменить параметры соляркиного ядра через установки /etc/system. Рой там. Если эту цифру и можно поменять, то только так.
>Требуется открывать на каждого клиента порядка 6-10 сокетов, учитывая, что клиентов на один сервер планируется порядка
>1000 (2-3 :)) ), то получается полная финя :)) Что посоветует
>многоуважаемый all? Сейчас я пытаюсь разбить клиентов на группы, чтобы каждую
>группу обслуживал свой процесс или нить.
>
>И еще вопрос сильно ли будет грузиться VM Linux,FreeBSD и Solaris
Все зависит от железа. На 2х процессорном Sun Fire 800 и выше видимо будет работать, но лучше таки доку почитать.
>, если будет вертеться 1000-2000 потоков(threads). Есть ли какие-нить грабли?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Максимально число сокетов, опрашиваемых select()"
Сообщение от Максим Мороз Искать по авторуВ закладки on 03-Июл-02, 16:50  (MSK)
>Могу сказать только по соляре.
>>Столкнулся с тем, что FD_SETSIZE==1024, соответственно больше сокетов опрашивать не получается. Есть
>>ли какие пути решения этой проблемы?
>У сантехников на сайте полно доки и среди админских руководств есть инструкция
>по настройке ядра. Что-то типа "Tuning parameters". Там написано, как можно
>изменить параметры соляркиного ядра через установки /etc/system. Рой там. Если эту
>цифру и можно поменять, то только так.
спасибо, поищу... Скорее всего не прокатит, потому как fdset - битовый массив :((

>>Требуется открывать на каждого клиента порядка 6-10 сокетов, учитывая, что клиентов на один сервер планируется порядка
>>1000 (2-3 :)) ), то получается полная финя :)) Что посоветует
>>многоуважаемый all? Сейчас я пытаюсь разбить клиентов на группы, чтобы каждую
>>группу обслуживал свой процесс или нить.
>>
>>И еще вопрос сильно ли будет грузиться VM Linux,FreeBSD и Solaris
>Все зависит от железа. На 2х процессорном Sun Fire 800 и выше
>видимо будет работать, но лучше таки доку почитать.
Ходят слухи, что схожая задача вертелась на однопроцессорной интеловской машине. Сами треды не ресурсоемкие. Интересен оверхед VM.

>>, если будет вертеться 1000-2000 потоков(threads). Есть ли какие-нить грабли?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Максимально число сокетов, опрашиваемых select()"
Сообщение от MaxZinal emailИскать по авторуВ закладки on 07-Июл-02, 00:01  (MSK)
А насколько критична "мгновенность" отклика? Если задержка
порядка 50 мс допустима, то можно устроить ожидание с
таймаутом по части дескрипторов, потом по другой части и
так далее, пока все не обойдём.

Вообще сходные поблемы решаются в компоненте "Реактор"
мультиплатформенной библиотеки ACE
().

Кроме того, полезно действительно заглянуть на docs.sun.com.
Там есть действительно толковые и обстоятельные руководства
по программированию соответствующих софтин. Естественно,
с ориентацией на Solaris, но поняв общий подход, можно
заняться уточнением деталей на других осях...

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру