|
|
|
Теория создания Indy сервера - вопрос оптимальности и производительности08.09.2014, 14:31. Показов 1965. Ответов 17
Метки нет (Все метки)
Для общего развития и понимания хотелось бы разъяснить несколько вопросов по поводу создания сервера.
Если предположить что есть сервер, основанный на компонентах Indy и работающий с базой MySql, а так же 200-300 подключений к нему одновременно (пускай посылающих раз в секунду не большой объем данных, 10-15 символов)… то вот такой вопрос.. как в таких случаях луче поступить с производительностью, не пихать же для каждого клиента отдельный поток…да и вообще прошу совета тех кто уже прибывал себя в данных задачах, на что надо обращать внимание.
0
|
|
| 08.09.2014, 14:31 | |
|
Ответы с готовыми решениями:
17
Работа со стеком, вопрос скорости и оптимальности Отрисовка графика по значениям из БД. Вопрос оптимальности Сборка игрового компьютера за 50+ к - вопрос оптимальности и совместимости |
|
|
|
| 09.09.2014, 14:21 | |
|
Книга "Глубины Indy" Перевод: А.П. Подгорецкий
Как я помню вроде как Indy- cервера сами создают потоки для каждого подключения, но там не уверен -вполне может быть они не создаются, а берутся из пула. А есть ли необходимость в промежуточном сервере? Как бы MySql сама по себе сервер?
1
|
|
|
|
||||||
| 09.09.2014, 14:48 [ТС] | ||||||
|
Через Indy хотелось сделать алгоритмы защиты и шифрации трафика.
Avazart я изначально натолкнулся на эту книгу с переводом..но там так абстрактно написано, вот пример законченной фразы описания
На счет потоков,так же не понятно то ли создает, то ли нет.
0
|
||||||
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
|
| 15.09.2014, 12:02 | |
|
Позволю себе задать вопрос в этой теме, дабы не плодить топики.
У меня есть готовые сервер и клиент, написанные с использованием Indy Я решил переписать сервер, без Indy, и вообще допустим на С#. Не хватает знаний о "глубинах" инди. Получится ли у меня переписать сервер, чтоб к нему могли цепляться прежние клиенты? Пока что запрос от клиентов получить удается, но вот скормить клиенту ответ никак. Сниффером посмотрел ответы родного сервера. Помимо открытого поля Data, остальное там для меня темный лес. Если же кидаю в ответ свои пакеты с таким же Data, то клиент не реагирует, да и родные пакеты по размеру больше моих, чую там доп. информация с шифрованием и т.д... Есть какие-нибудь мысли или советы? p.s. лезть в исходники самих компонентов Indy пока не решаюсь.
0
|
|
|
|
|
| 05.10.2015, 18:14 [ТС] | |
|
Прошло немного времени, и опытным путем выяснил, что Indy сервер не создает поток под каждое соединение (он создает пул внутренних адресов с запасом, какой в этом плюс для производительности, кроме как при следующем подключении не выделять под него память, не понятно).
PS. На разных форумах, как бы гуру Indy уверяют что все что попадает в события чтения компонента, выполняется в отдельном потоке...не понятно чем это подкреплено или с чего так они считают .
0
|
|
|
|
|||
| 05.10.2015, 20:13 | |||
|
Не пул адресов, а пул потоков.
Это все зависит от политики. Как реально там нужно смотреть в исходники.
1
|
|||
|
|
||
| 05.10.2015, 20:27 [ТС] | ||
|
Avazart, если не затруднит, то Вы бы как поступили(какими инструментами или логикой),если была бы необходимость написать сервер для работы с БД, который обслуживал бы сразу несколько клиентов?
0
|
||
|
|
|||
| 05.10.2015, 20:30 | |||
|
Что мешает следить за потоками? Добавлено через 1 минуту И скорее всего бы отказался от билдера в качестве серверного решения
1
|
|||
|
|
||
| 05.10.2015, 20:36 [ТС] | ||
|
С 5 клиентов сделал один запрос на вычисление функции на сервере, на сервере отображал в TMemo начало и завершение каждого вычисления.....каждое вычисление начиналось только после того когда завершиться предыдущий,не раньше. Да и как бы странным не находите, что программа с Indy замирает на момент вычисления. Откуда замирание если все в потоках?
0
|
||
|
|
|||
| 05.10.2015, 21:00 | |||
|
Добавлено через 1 минуту Откуда мне знать что вы туда позапихивали что у вас виснит? И может у вас вообще комп одноядерный или вы пишите на допотопной Indy9?
1
|
|||
|
управление сложностью
|
|
| 06.10.2015, 09:11 | |
|
У вас настолько секретная инфа что ее вообще никому знать не нужно ? Тогда шифрование канала делайте
, VPN поднимайте и т.п. Просто еще раз повторюсь, писать свою СУБД выйдет дороже как материально, так и по времени ![]() А по поводу перехвата пакетов - от этого никто не застрахован
1
|
|
|
|
|
| 07.10.2015, 19:15 [ТС] | |
|
Приношу извинения за дезинформацию..дело было как и в версии Indy, так в методе тестирования. Как и заявлено, инди работает в потоках, что не может не радовать.
0
|
|
| 07.10.2015, 19:15 | |
|
Помогаю со студенческими работами здесь
18
Передача данных между клиентами: вопрос скорости и оптимальности Вопрос по Indy Вопрос по TIdCmdTCPServer (Indy 10) Вопрос о производительности VS Вопрос по производительности компа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|