Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Розмістіть свій проєкт безплатно та почніть отримувати пропозиції від фрилансерів-виконавців уже через хвилини після публікації!

Исправить программу на Delphi


Додатки 2

Перегляд додатків доступний тільки зареєстрованим користувачам.
Замовник не бажає робити передоплату? Оплата через Сейф допоможе уникнути можливого шахрайства.
  1. 574
     4  0

    14 днів5000 UAH

    "Если же увеличить, например, до 5120, то через некоторое время перестает работать (на веб запросы к ней отвечает, но запросы в БД не выполняет). И появляется ошибка о недостатке памяти. Но я никогда не видел, чтобы программа использовала больше 200 мб памяти. После перезапуска опять работает некоторое время, после чего история повторяется."
    Видите, у вас ошибка "Thread creation error"? При создании потока выделяется память как в UserMode, так и в ядре системы. И вот эта память в ядре системы с особыми свойствами, в частности, она не может быть вытеснена на диск, в файл подкачки. Она обязательно всегда должна находиться в реальной оперативной памяти. И её не очень много. Грубо говоря, вы создаёте слишком много потоков.
    Но думаю, что причина ещё несколько глубже. Из этого множества потоков вы одновременно создаёте слишком много файлов. Насколько я представляю себе работу драйверов файловой системы Винды, они для такого просто не предназначены. Нет, она не падает, но работать начинает очень неэффективно, расходуя тот самый драгоценный пул памяти в ядре, который нельзя свопировать на диск.
    Я бы посоветовал перепроектировать программу в этом месте. Есть менее ресурсоёмкие решения.
    ----------------
    Мне тут подсказывают, что я ошибся и, похоже, это так и есть. Я не обратил внимание на то, что процесс у вас 32битный. Обычно по умолчанию размер стека резервируемого для вновь создаваемого потока равен 1Мб. И 5120 новых потоков просто исчерпают всё адресное пространство 32 своими стеками.

  2. 17  
    1 день1000 UAH

    На посмотреть розобраться цена такая.
    Смотрим исходники и какие компоненты используються.
    Тогда можно о чемто говорить.
    А так с того что есть сразу скажу тупиковый подход. Нужно менять логику, на всех пользователей ядер не хватит некогда.

  3. 84    1  0   1
    5 днів3000 UAH

    Важный вопрос: программа раньше работала стабильно или начала сбоить начиная с какого-то времени?
    А то при отсутствии ограничения на максимальное количество соединений и при наличии дудосеров, ваш сервер можно легко положить.

  4. 548    70  13   2
    3 дні1500 UAH

    Готов заняться Вашей задачей. Проблема с нехваткой памяти и с таймаутом для запросов понятны - но надо понимать, что безграничных ресурсов всё равно не возникнет. Ещё желательно знать версию используемого Вами SQL-сервера. Подробнее могу сказать после того, как посмотрю исходники.

  5. 1321    62  2   1
    5 днів3000 UAH

    Здравствуйте,
    насколько я понял, какие-то запросы вызывают задержку/нехватку памяти - программа перестаёт работать. Если есть доступ к базе и можно получить текст запроса, смогу переписать.

  6. Ще 3 ставки приховано
  • Профіль видалено
    2 серпня 2019, 20:12 |

    Подозреваю что можно решить - уменьшив размер стека (и перекомпилировав)

  • Вячеслав Азаров
    3 серпня 2019, 7:29 |

    При таком количестве (5120) одновременных запросов к РБД вам понадобится машина баз данных (например от Оракл) или услуги провайдеров облачных технологий c репликацией РБД, а не персональный компьютер с MySQL.

  • Ігор Лозовський
    3 серпня 2019, 8:46 |

    "Даже самые сложные задачи могут иметь простое решение"

    И всё-таки есть решение за счёт изменения архитектуры. 🙂

Актуальні фриланс-проєкти в категорії Десктопні додатки

Невелика правка на сайті

700 UAH

Потрібно перепідв'язати договір оферти в футері на новий, в компанії змінився регламент Завдання на 20 хвилин

Веб-програмуванняДесктопні додатки ∙ 10 годин 12 хвилин тому ∙ 94 ставки

Інструмент звірки рахунків з банком, картами та бухгалтером

Технічне завдання: інструмент звірки рахунків з банком, картами та бухгалтеромЗагальна метаПотрібен локальний інструмент (скрипт/невеликий додаток на Python), який запускається вручну раз на 1-2 місяці на моєму комп'ютері і робить звірку між:Рахунками, які я виставив клієнтам і…

PythonДесктопні додатки ∙ 2 дні 17 годин тому ∙ 42 ставки

Додати паузи 10-30 секунд між відправками листів

Вітаю! Шукаю досвідченого програміста 1С / BAS (BAF) для оперативного вирішення технічної проблеми з поштовою розсилкою.Суть проблеми: Використовуємо бухгалтерську програму BAF (Business Automation Framework), редакция 2.0. Раз на місяць виникає потреба масово відправляти…

Веб-програмуванняДесктопні додатки ∙ 8 днів 9 годин тому ∙ 10 ставок

Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)

1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для…

C та C++Десктопні додатки ∙ 8 днів 20 годин тому ∙ 6 ставок

Замовник
Проєкт опублікований
6 років тому
206 переглядів