|
|
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU DmSer, Я потратил множество времени, чтобы ознакомиться с текущими решениями Смотрел и Synopse, и ICS, и TMS, и RTC. И много чего другого Тот же ICS он только под винду Асинхронных сокетов нормальных нет почти нигде С веб сокетами тоже труба В Indy на каждый коннект создаётся поток. Будет на серваке 1000 соединений и всё - труба RTC держит сотни тысяч коннектов одновременно при этом у них в демках есть софтина для стресс-тестирования и да, иди снова изучай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 16:49 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
Тот же ICS он только под винду Автор вроде пилит кроссплатформу. Не знаю, на каком сейчас этапе. В Indy на каждый коннект создаётся поток. Будет на серваке 1000 соединений и всё - труба Неправда. Если мы разрабатываем 64-битное приложение, то Indy может держать десятки тысяч подключений. На каждое подключение создаётся доп. поток, но ОЗУ он жрет не более 100 КБ. К сожалению, максимальное количество подключений на одном (и даже на двух компьютерах) не измеришь. Чтобы измерить, нужно один комп "сервер" и десяток компов-клиентов. Может Indy и 100 тыс. одновременных TCP-коннектов потянет (здесь конечно большие затраты будут на работу системного планировщика). Но, конечно, скорость обработки http-запросов в Indy значительно меньше, чем у других. Оказалось, нода в 500 раз быстрее. Что-то типа такого Видимо, он сравнивал с Indy. Там очень большие расходы из-за создания и уничтожения доп. потоков. Ну и по другим причинам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:00 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU В Indy на каждый коннект создаётся поток. Будет на серваке 1000 соединений и всё - труба Даже в 32-битном процессе можно создать сильно больше потоков, не говоря уж о 64-битном. DmSer (здесь конечно большие затраты будут на работу системного планировщика) Ожидающие событий от системных объектов потоки на производительность не влияют. DmSer Видимо, он сравнивал с Indy. Там очень большие расходы из-за создания и уничтожения доп. потоков. Ну и по другим причинам. В инди есть поддержка пула потоков, вообще то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:20 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
defecator, Ну RTC по сравнению с другими либами очень даже ничего Но во-первых, он платный Во-вторых, держать то он может и держит, но работает неэффективно, а значит реальная пропускная способность небольшая. На сайте тесты до 5000 соединений Ну и в-третьих, там ещё что-то было, сходу не вспомню В целом во многих либах, в том числе бесплатных, есть что почерпнуть. Но общая картина удручает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:21 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
DmSer, Kazantsev Alexey, Потоки - это объекты операционной системы, которым нужно отводить тик времени, адресное пространство, оркестрировать Поэтому в сколько-нибудь серьёзных проектах переходят к задачам поверх пула потоков, например Но поскольку дельфийские задачи тоже далеки от идеала - лучше использовать узкозаточенную реализацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:25 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU defecator, Ну RTC по сравнению с другими либами очень даже ничего Но во-первых, он платный Во-вторых, держать то он может и держит, но работает неэффективно, а значит реальная пропускная способность небольшая. На сайте тесты до 5000 соединений Ну и в-третьих, там ещё что-то было, сходу не вспомню В целом во многих либах, в том числе бесплатных, есть что почерпнуть. Но общая картина удручает что там тебя удручает ? есть zeroMQ, который сверхбыстрый, и с прекрасной обёрткой https://github.com/grijjy/DelphiZeroMQ разве ты сможешь написать что-то быстрее этого ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:30 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Потоки - это объекты операционной системы, которым нужно отводить тик времени, адресное пространство, оркестрировать 1. Ожидающим потокам тик не нужен. Они из планирования исключаются. 2. Адресное пространство на 64-битах не проблема, а на 32 оно скорее будет исчерпано под хранение состояния, если, конечно, речь не идёт о примитивном эхо-сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:32 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
defecator, ZeroMQ тоже может не всё Тем более он зависим от динамических библиотек По поводу производительности... Ты юзал мой CPF, как сам думаешь? Вопрос не в моих навыках оптимизатора Вопрос в том, хватит ли мотивации, сил и времени на реализацию И в этом смысле командная работа как решает данный вопрос Получится нет - увидим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:43 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Ну давай сравним 5000 соединений на ноде и 5000 соединений на дельфийских потоках Создавать поток на каждое соединение - это древность. Не знаю, сейчас кто-то использует этот подход кроме наших или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:45 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU defecator, ZeroMQ тоже может не всё не может всё - это чего же такое это "всё" ? SOFT FOR YOU Тем более он зависим от динамических библиотек любая твоя библиотека всё равно будет зависима от системных библиотек SOFT FOR YOU Вопрос не в моих навыках оптимизатора Вопрос в том, хватит ли мотивации, сил и времени на реализацию И в этом смысле командная работа как решает данный вопрос Получится нет - увидим вопрос - зачем ? оптимизация ради оптимизации ? или тебе просто нечем больше заняться ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 17:55 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
авторZeroMQ тоже может не всё Тем более он зависим от динамических библиотек Дайте ему селёдки! - (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:07 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
defecator, Очень хороший вопрос Если говорить про сейчас, то у нас 4 человека (как будет дальше - посмотрим). Мотивации следующие: 1. На имеющемся серваке растёт количество клиентов, сервак начинает захлёбываться. Нужно добавить асинхронные сокеты + добавить поддержку REST/JSON (через http.sys) 2. Человек является начальником отдела разработки, много кода на Delphi, очень много клиентов. Есть желание продолжить на Delphi, но подчинённые прислали тест, где Node выигрывает Delphi на порядки 3. Интерес в профессиональном росте: погружение в сетевые технологии, инструменты и особенности командной разработки 4. У меня есть 2 потенциальных клиента (компании), которые активно пишут сервера на Delphi. Мне хотелось бы сотрудничать с ними, но предложить пока нечего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:08 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Ну давай сравним... Сравнивай на здоровье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:12 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Ну не я же говорю, что потоки это не проблема ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:14 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU defecator, Очень хороший вопрос Если говорить про сейчас, то у нас 4 человека (как будет дальше - посмотрим). Мотивации следующие: 1. На имеющемся серваке растёт количество клиентов, сервак начинает захлёбываться. Нужно добавить асинхронные сокеты + добавить поддержку REST/JSON (через http.sys) 2. Человек является начальником отдела разработки, много кода на Delphi, очень много клиентов. Есть желание продолжить на Delphi, но подчинённые прислали тест, где Node выигрывает Delphi на порядки 3. Интерес в профессиональном росте: погружение в сетевые технологии, инструменты и особенности командной разработки 4. У меня есть 2 потенциальных клиента (компании), которые активно пишут сервера на Delphi. Мне хотелось бы сотрудничать с ними, но предложить пока нечего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:17 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Ну не я же говорю, что потоки это не проблема Конечно не проблема, проблема в том, как их готовят. Уже и про сокетную асинхронщину разговоры пошли... Удачи, короче, вам. С джирой, конфлюенсом и скрамом три раза в неделю, она вам понадобится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:23 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Не понял, к чему злорадство ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:27 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
s62, Совершенно верно IOCP под виндой epoll на Linux kqueue на FreeBSD/MacOS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:29 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Не понял, к чему злорадство Злорадство, это когда радуются чужой неудаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:38 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Заваливайся в сообщество Там такие темы, например, обсуждать сподручнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:43 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Kazantsev Alexey, Заваливайся в сообщество Там такие темы, например, обсуждать сподручнее а здесь ТАКИЕ темы обсуждать "несподручнее" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:47 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU 4. У меня есть 2 потенциальных клиента (компании), которые активно пишут сервера на Delphi. Мне хотелось бы сотрудничать с ними, но предложить пока нечего если они активно пишут сервера на Дельфи, то нафига им нужен ты ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:50 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Kazantsev Alexey, Заваливайся в сообщество Там такие темы, например, обсуждать сподручнее Категорически не советую: SOFT FOR (конкретно) - не просто токсичный пустозвон, он - опасен как партнёр. Например, напомню, что его "знаменитый" фри-опенсорсе менеджер памяти ... неожиданно заброшен с требованием заплатить ему $5000-$10000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:52 |
|
||
|
IdTCPServer отправить сообщение клиенту
|
|||
|---|---|---|---|
|
#18+
defecator, Конкретно в данный момент тема является офтопом ТС спросил об одном, а речь о потоках и библиотеках Сервера - это большая нагрузка А большая нагрузка - это тонна оптимизаций Плюс у меня много наработок по RTTI. А значит с лёгкой руки можно упростить обмен сообщениями между клиентом и сервером. Упростить, ускорить, повысить надёжность и обратную совместимость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2021, 18:54 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40033429&tid=2037708]: |
0ms |
get settings: |
6ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 529ms |

| 0 / 0 |
