The OpenNET Project / Index page

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




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

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

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

    • RE: Максимально число сокетов, опрашиваемых select(), !*! Максим Мороз, 16:50 , 03-Июл-02 (2)
      >Могу сказать только по соляре.
      >>Столкнулся с тем, что 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). Есть ли какие-нить грабли?

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

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

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




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

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