Исправить программу на Delphi
Требуется исправить программу, которая выполняет MySql запросы. Через некоторое время под нагрузкой она перестает работать.
Более подробное ТЗ в прикрепленных файлах ниже.
Исходники скину исполнителю.
Додатки 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.
-
Актуальні фриланс-проєкти в категорії Десктопні додатки
Потрібно терміново отримати POST / GET / PUT запити з мобільного додатку TikTokПо суті. Потрібно витягти POST / GET / PUT запити з мобільного додатку TikTok Навіть по суї можна до кінця не реверсити нічого такого, бо підписи є в інтернеті і т.д. Але було б теж супер Вся авторизація (Відправка даних/підтвердження по пошті і введення коду якщо… Веб-програмування, Десктопні додатки ∙ 7 годин 6 хвилин тому ∙ 8 ставок |
Розробка кастомного ПЗ (Android-додатка + CMS) для кіосків самообслуговування SUNMI K2 (Фастфуд)
1000 UAH
Шукаємо досвідчену команду або Middle/Senior Android-розробника (можливо, з Full-stack навичками) для створення власного програмного забезпечення для кіосків самообслуговування ритейл-мережі закладу швидкого харчування. Зараз наші термінали працюють на базі готового хмарного… CMS, Десктопні додатки ∙ 1 день 1 година тому ∙ 17 ставок |
Потрібно зробити міграцію поточної робочої програми з foxpro на C#Всім привіт! У нас є програма на foxpro (в ній є кілька модулів, програма для обліку), є вихідники програми, при гострій необхідності можна проконсультуватися з людьми по підтримці поточної програми Що потрібно зробити: 1. Аналіз, що і як працює, скласти список всього зайвого,… C#, Десктопні додатки ∙ 6 днів 9 годин тому ∙ 18 ставок |
ПО Мастер-програма «KONSTRUCTOR»
185 756 UAH
Ми шукаємо дуже досвідченого C++ розробника для модернізації існуючого ПЗ (майстер-програми). Програма відповідає за створення виробного ПЗ, що представляє аудіо-візуальні сеанси психологічної корекції. Поточна версія написана на чистому WinAPI (Visual Studio 2019/2022).… C та C++, Десктопні додатки ∙ 8 днів 21 година тому ∙ 19 ставок |
Налаштування ODOO Enterprise для будівництваНеобхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах… Автоматизація управління підприємством, Десктопні додатки ∙ 9 днів 7 годин тому ∙ 7 ставок |