Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.24;
Скачать: CL | DM;

Вниз

Indy или не Indy   Найти похожие ветки 

 
Andy BitOff (PPC)   (2008-07-02 19:02) [0]

Есть возможность замутить один проект.  Проект небольшой, пара-тройка табличек, десяток клиентов и сервак, даже сервачок :) Все это добро будет работать внутри одной лок.сети.
Так вот, возник вопрос. Indy это зло или нет?


 
Поросенок Винни-Пух ©   (2008-07-02 19:04) [1]

это библиотека


 
Поросенок Винни-Пух ©   (2008-07-02 19:07) [2]

и добро


 
Andy BitOff (PPC)   (2008-07-02 19:14) [3]

Что это такое я знаю. ;) Уже использовал. Правда давно, поэтому и спросил. А вдруг реалии поменялись.


 
Anatoly Podgoretsky ©   (2008-07-02 19:18) [4]

> Andy BitOff (PPC)  (02.07.2008 19:02:00)  [0]

При таких размерах инструмент не играет роли.


 
тимохов   (2008-07-02 19:18) [5]

лучше ICS


 
Anatoly Podgoretsky ©   (2008-07-02 19:21) [6]

> тимохов  (02.07.2008 19:18:05)  [5]

Когда в вопросе общие слова, то лучше не говорить.


 
clickmaker ©   (2008-07-02 19:35) [7]

а зачем инди для локальной сети?
стандартных клиент-серверных компонентов не хватает?


 
Andy BitOff (PPC)   (2008-07-02 20:41) [8]

clickmaker © (02.07.08 19:35) [7]
Как это не покажется странным, но со стандартными компонентами я не работал. Надо бы посмотреть, наверно.
А что, Indy плох для лок.сети?


 
DVM ©   (2008-07-02 21:14) [9]

Indy не плох, но довольно своеобразен и к этому его своеобразию надо привыкать. Также следует иметь в виду, что мало справочной информации и достойных примеров. Те, что есть, либо устарели, либо содержат явные ошибки и примеры того, как делать не надо.


 
Правильный-Вася   (2008-07-02 21:37) [10]

молоток для забивания шурупов хоть и годится, но уж лучше отверткой


 
Rouse_ ©   (2008-07-02 23:15) [11]

Indy - это то еще чудо, для "сервачка" как раз сгодится...


 
Тимохов   (2008-07-03 00:47) [12]


> Anatoly Podgoretsky ©   (02.07.08 19:21) [6]
> > тимохов  (02.07.2008 19:18:05)  [5]Когда в вопросе общие
> слова, то лучше не говорить.


ну ты же говоришь.
а ты -- мой кумир.


 
Anatoly Podgoretsky ©   (2008-07-03 00:53) [13]

> Тимохов  (03.07.2008 0:47:12)  [12]

Мы с тобой о кумирах говорили?


 
Хохол   (2008-07-03 01:02) [14]


> Andy BitOff (PPC)   (02.07.08 19:02)
>
> Есть возможность замутить один проект.  Проект небольшой,
>  пара-тройка табличек, десяток клиентов и сервак, даже сервачок
> :) Все это добро будет работать внутри одной лок.сети.
> Так вот, возник вопрос. Indy это зло или нет?


Уникода там нет и пула коннектов. Так что Java + Tomcat + JSP/JSTL. Так что если сервер, то Java (если нагрузка в сотни тысяч клиентов то C++).

Можно на PHP, но это как писать на древнем turbopascal 5.0 с его убогой объектной моделью.


 
clickmaker ©   (2008-07-03 09:06) [15]

> [8] Andy BitOff (PPC)   (02.07.08 20:41)

из пушки по воробьям получится.
Если намечается субд + клиент-сервер, то я бы глянул в сторону ADO и MIDAS


 
Sha ©   (2008-07-03 10:25) [16]

> Хохол
> если нагрузка в сотни тысяч клиентов то C++

Даже у великого С++ портов не хватит.


 
Плохиш ©   (2008-07-03 10:38) [17]


> Хохол   (03.07.08 01:02) [14]


> древнем turbopascal 5.0 с его убогой объектной моделью

и где ты там объекты нашёл?


 
Anatoly Podgoretsky ©   (2008-07-03 10:41) [18]

> Sha  (03.07.2008 10:25:16)  [16]

> если нагрузка в сотни тысяч клиентов то C++

то только ICS или прямая работа с WinSocks в ассинхронном режиме.


 
umbra ©   (2008-07-03 10:47) [19]


> > если нагрузка в сотни тысяч клиентов то C++
>
> то только ICS или прямая работа с WinSocks в ассинхронном
> режиме.
>

даже у ICS портов не хватит :)


 
umbra ©   (2008-07-03 10:51) [20]


> Уникода там нет и пула коннектов.

А зачем там уникод? А пул коннектов там есть :) TIdSchedulerOfThreadPool


 
Дуб ©   (2008-07-03 11:04) [21]


> Плохиш ©   (03.07.08 10:38) [17]

Не мешай эксперту раскрыться.


 
Anatoly Podgoretsky ©   (2008-07-03 12:21) [22]

> umbra  (03.07.2008 10:47:19)  [19]

В курсе, правда не в ICS а в Виндоус - только 32000 портов на один ИП
Правда количество ИП не ограничено одним.


 
Anatoly Podgoretsky ©   (2008-07-03 12:22) [23]

> Дуб  (03.07.2008 11:04:21)  [21]

А разве это еще не произошло, может ты пропустил некоторые сообщения в других ветках.


 
Дуб ©   (2008-07-03 12:26) [24]

> может ты пропустил некоторые сообщения в других ветках.

Видимо, да. Я не все читал.


 
Sha ©   (2008-07-03 13:04) [25]

> Anatoly Podgoretsky ©   (03.07.08 12:21) [22]
> В курсе, правда не в ICS а в Виндоус - только 32000 портов  на один ИП

1. почему не 64k ?
2. ICS сделан на сообщениях, поэтому если вести речь не коннектах, а об активной работе, то 1000-5000 соединений для него предел.


 
Anatoly Podgoretsky ©   (2008-07-03 14:07) [26]

> Sha  (03.07.2008 13:04:25)  [25]

1. Я не знаю почему не 64К, я основываюсь на информации из форума ICS, те кто делал высоконагруженые сайты и споткнулся на данном ограничение, некоторые вещи в АПИ не совсем последовательны и необъяснимы, те кто накладывал эти ограничения, уже не доступен.

2. Не согласен, нормально держит 32000 сообщений, этому есть подтверждение в виде готовых рабочих продуктов, по крайней мере известно два, один с 4 потоками, и еще один исключительно на сообщениях, то есть один поток. Характер ФТП и ФТП подобные решения федерального уровня. Но конечно писать такие приложения не каждому дано, я бы не взялся.


 
DVM ©   (2008-07-03 14:40) [27]


> Anatoly Podgoretsky ©   (03.07.08 14:07) [26]

по моему глупо писать столь высокопроизводительный сервер в 1 потоке и не задейсвовать все возможности многопроцессорных систем.


 
Sha ©   (2008-07-03 14:41) [28]

> Anatoly Podgoretsky ©   (03.07.08 14:07) [26]

1. На АПИ (после известных правок в реестре) нет ограничения 32000.
2. Держать 32000 соединений в чате или даже на ФТП сервере и активно работать по 32000 соединениям это немного разные вещи. Тот же ФТП сервер обычно строится так, чтобы быстро прокачать данные одновременно примерно через 200-500 соединений.


 
Anatoly Podgoretsky ©   (2008-07-03 15:39) [29]

> DVM  (03.07.2008 14:40:27)  [27]

Интернет это очень медленное даже сейчас. ICS потоки не нужны, но он не препятсвует производить долгоиграющую обработку в потоках, например обращение к базе. Обработку сокетов вести в потоках - это себе вредить, это изначально событийная среда. Количество потоков в Виндоус ты врядли сможешь сделать больше 1500, реально где то 1000, поскольку только под стек каждому потоку нужен 1 мб. Дальше бери калькулятор в руки и посчитай сколько у тебя получится. Это и есть основное ограничение Инди, что не позволяет создать хоть как то похожую на большую систему систему.


 
Anatoly Podgoretsky ©   (2008-07-03 15:44) [30]


> 2. Держать 32000 соединений в чате или даже на ФТП сервере
> и активно работать по 32000 соединениям это немного разные
> вещи. Тот же ФТП сервер обычно строится так, чтобы быстро
> прокачать данные одновременно примерно через 200-500 соединений.
>

Для TCP - на каждого подключившего клиента заводится один сокет, а это означает ИП+Порт, поле порт всего 16 бит, далее можешь посчитать есть ограничение или нет.

Для приведеных мне примеров, нагрузка там была дикая, на канале 100 гигабит канал полностью забит. Я же написал не ФТП, а ФТП подобные решения. Какая то серьезная федеральная служба. Это который однопоточный. Автор правда сильно не распространялся, видимо ограничение на информацию.


 
Eraser ©   (2008-07-03 15:54) [31]

> [29] Anatoly Podgoretsky ©   (03.07.08 15:39)


> Обработку сокетов вести в потоках - это себе вредить, это
> изначально событийная среда.

не согласен, классические беркли-сокеты блокирующие (синхронные).
по сабжу: если соединений не очень много, то инди сгодится, если нужен серьезный сервер, тогда рекомендуют использовать порты завершения и писать прийдется на winAPI, что тоже в общем не смертельно.


 
umbra ©   (2008-07-03 15:54) [32]


> на канале 100 гигабит канал полностью забит

это ничего не говорит о количестве активных пользователей. При 32000 активных пользователей система загнется от слишком активного чтения/записи винта :)


 
Eraser ©   (2008-07-03 15:55) [33]

кстати в инди есть возможнсть использовать т.н. волокна (fibers), говорят они намного менее ресурсоемкие, чем потоки.


 
Sha ©   (2008-07-03 16:04) [34]

> Anatoly Podgoretsky ©   (03.07.08 15:44) [30]
> можешь посчитать есть ограничение или нет

Посчитал: нету.

> на канале 100 гигабит канал полностью забит

Это не значит, что все соединения активно работали.
Количество сообщений, которые будет генерировать WinSock,
может отличаться на порядки для одного активно работающего соединения и 32000. И соответственно время CPU.


 
Anatoly Podgoretsky ©   (2008-07-03 16:19) [35]

> Eraser  (03.07.2008 15:54:31)  [31]

С классическими Беркли сокетами иди на на Беркли


 
Anatoly Podgoretsky ©   (2008-07-03 16:23) [36]

> umbra  (03.07.2008 15:54:32)  [32]

Использованы все соединения, и насчет загнется, ты что думаешь, там стоят бытовые компьютере и ИДЕ диски, а SAN стойки не хочешь?
Это реальные системы, 30000 это реальное количество подключений, а не выдуманое, остальные ждут очереди. Кроме того, 30000 активных пользователей совсем не означает 30000 активно пишущих пользователей, а сокеты все равно заняты и их количество на один ИП ограничено операционной системой и физической организацией TCP/IP - 16 бит.


 
Anatoly Podgoretsky ©   (2008-07-03 16:25) [37]

> Eraser  (03.07.2008 15:55:33)  [33]

Можно, только это не имеет отношения к сокетам, это позволяет в рамках одного потока организовать еще подпотоки, через фиберы. Вот им стек не нужен, они используют стек потока.


 
Anatoly Podgoretsky ©   (2008-07-03 16:26) [38]

> Sha  (03.07.2008 16:04:34)  [34]

А у меня есть, теоритически на одном ИП никак не получить свыше 65535 портов и соотвественно количество клиентов на TCP/IP
На UDP такого ограничения нет.


 
umbra ©   (2008-07-03 16:33) [39]


> Можно, только это не имеет отношения к сокетам, это позволяет
> в рамках одного потока организовать еще подпотоки, через
> фиберы. Вот им стек не нужен, они используют стек потока

ну так инди ж плох тем, что потоков много создает, а не тем, что мало сокетов может использовать :)


 
Anatoly Podgoretsky ©   (2008-07-03 16:41) [40]

> umbra  (03.07.2008 16:33:39)  [39]

Он себе (через программиста конечно) жизнь портит, но как минимум один поток + один порт на соединение. 32000 потоков не реально.



Страницы: 1 2 вся ветка

Текущий архив: 2008.08.24;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.02 c
2-1216662345
maksum
2008-07-21 21:45
2008.08.24
TreeNode


2-1216624011
TRSteep
2008-07-21 11:06
2008.08.24
INI файл или XML


2-1216449989
Анатолий_1987
2008-07-19 10:46
2008.08.24
Роли и привилегии


15-1215089131
Kolan
2008-07-03 16:45
2008.08.24
Как управлять проектами?


15-1215422732
Nic
2008-07-07 13:25
2008.08.24
Лучшая программа управления лотком оптического привода