Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.044 c
2-1216369728
Сергей
2008-07-18 12:28
2008.08.24
Как в DBGrid отменить выделение ячеек?


15-1215587634
SoundB
2008-07-09 11:13
2008.08.24
Помогите с SQL запросом


15-1215413564
ПЛОВ
2008-07-07 10:52
2008.08.24
Файл bla.bla является скрытым


15-1214665107
MsGuns
2008-06-28 18:58
2008.08.24
Процесс программирования


3-1204294921
pirks
2008-02-29 17:22
2008.08.24
Перевернуть таблицу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский