Исправить программу на Delphi
Требуется исправить программу, которая выполняет MySql запросы. Через некоторое время под нагрузкой она перестает работать.
Более подробное ТЗ в прикрепленных файлах ниже.
Исходники скину исполнителю.
Applications 2
-
"Если же увеличить, например, до 5120, то через некоторое время перестает работать (на веб запросы к ней отвечает, но запросы в БД не выполняет). И появляется ошибка о недостатке памяти. Но я никогда не видел, чтобы программа использовала больше 200 мб памяти. После перезапуска опять работает некоторое время, после чего история повторяется."
Видите, у вас ошибка "Thread creation error"? При создании потока выделяется память как в UserMode, так и в ядре системы. И вот эта память в ядре системы с особыми свойствами, в частности, она не может быть вытеснена на диск, в файл подкачки. Она обязательно всегда должна находиться в реальной оперативной памяти. И её не очень много. Грубо говоря, вы создаёте слишком много потоков.
Но думаю, что причина ещё несколько глубже. Из этого множества потоков вы одновременно создаёте слишком много файлов. Насколько я представляю себе работу драйверов файловой системы Винды, они для такого просто не предназначены. Нет, она не падает, но работать начинает очень неэффективно, расходуя тот самый драгоценный пул памяти в ядре, который нельзя свопировать на диск.
Я бы посоветовал перепроектировать программу в этом месте. Есть менее ресурсоёмкие решения.
----------------
Мне тут подсказывают, что я ошибся и, похоже, это так и есть. Я не обратил внимание на то, что процесс у вас 32битный. Обычно по умолчанию размер стека резервируемого для вновь создаваемого потока равен 1Мб. И 5120 новых потоков просто исчерпают всё адресное пространство 32 своими стеками.
-
17 На посмотреть розобраться цена такая.
Смотрим исходники и какие компоненты используються.
Тогда можно о чемто говорить.
А так с того что есть сразу скажу тупиковый подход. Нужно менять логику, на всех пользователей ядер не хватит некогда.
-
84 1 0 1 Важный вопрос: программа раньше работала стабильно или начала сбоить начиная с какого-то времени?
А то при отсутствии ограничения на максимальное количество соединений и при наличии дудосеров, ваш сервер можно легко положить.
-
559 70 13 2 Готов заняться Вашей задачей. Проблема с нехваткой памяти и с таймаутом для запросов понятны - но надо понимать, что безграничных ресурсов всё равно не возникнет. Ещё желательно знать версию используемого Вами SQL-сервера. Подробнее могу сказать после того, как посмотрю исходники.
-
1351 62 2 1 Здравствуйте,
насколько я понял, какие-то запросы вызывают задержку/нехватку памяти - программа перестаёт работать. Если есть доступ к базе и можно получить текст запроса, смогу переписать.
-
При таком количестве (5120) одновременных запросов к РБД вам понадобится машина баз данных (например от Оракл) или услуги провайдеров облачных технологий c репликацией РБД, а не персональный компьютер с MySQL.
-
Current freelance projects in the category Desktop Apps
Need to extract POST / GET / PUT requests from the TikTok mobile application urgently.In essence. It is necessary to extract POST / GET / PUT requests from the TikTok mobile application. Even by essence, it is not necessary to fully reverse anything since signatures are available on the internet, etc. But it would also be great. All authorization (Sending… Web Programming, Desktop Apps ∙ 13 hours 7 minutes back ∙ 17 proposals |
Development of custom software (Android application + CMS) for SUNMI K2 self-service kiosks (Fast food)
23 USD
We are looking for an experienced team or a Middle/Senior Android developer (possibly with Full-stack skills) to create proprietary software for self-service kiosks for a fast food retail chain. Currently, our terminals operate on a ready-made cloud integrator, but we are… Content Management Systems, Desktop Apps ∙ 1 day 7 hours back ∙ 18 proposals |
It is necessary to migrate the current working program from FoxPro to C#.Hello everyone! We have a program in FoxPro (it has several modules, it's an accounting program), we have the source code of the program, and if necessary, we can consult with people who support the current program. What needs to be done: 1. Analyze how everything works,… C#, Desktop Apps ∙ 6 days 15 hours back ∙ 18 proposals |
About the Master Program "KONSTRUCTOR"
4182 USD
We are looking for a very experienced C++ developer to modernize existing software (master program). The program is responsible for creating derivative software representing audio-visual sessions of psychological correction. The current version is written in pure WinAPI (Visual… C & C++, Desktop Apps ∙ 9 days 4 hours back ∙ 19 proposals |
ODOO Enterprise setup for constructionНеобхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах… Enterprise Resource Planning (ERP), Desktop Apps ∙ 9 days 13 hours back ∙ 7 proposals |