Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Opublikuj swoje zlecenie za darmo i otrzymaj oferty od wykonawców freelancerów już minutę po opublikowaniu!

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


Załączniki 2

Wgląd do aplikacji jest dostępny tylko zarejestrowanym użytkownikom.
Klient nie chce wpłacić zaliczki? Płatność przez Sejf pomoże uniknąć ewentualnego oszustwa.
  1. 574
     4  0

    14 dni415 PLN

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

  2. 17  
    1 dzień83 PLN

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

  3. 84    1  0   1
    5 dni249 PLN

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

  4. 548    70  13   2
    3 dni125 PLN

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

  5. 1321    62  2   1
    5 dni249 PLN

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

  6. Jeszcze 3 ofert jest ukrytych
  • Profil został usunięty
    2 sierpnia 2019, 20:12 |

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

  • Vyacheslav Azarov
    3 sierpnia 2019, 7:29 |

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

  • Ihor Lozovsky
    3 sierpnia 2019, 8:46 |

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

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

Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe

Mała poprawka na stronie

58 PLN

Trzeba zaktualizować umowę ofertową w stopce na nową, w firmie zmieniły się zasady Zadanie na 20 minut

Programowanie stron internetowychAplikacje desktopowe ∙ 14 godzin 14 minut temu ∙ 94 oferty

Narzędzie do porównywania rachunków z bankiem, kartami i księgowym

Zadanie techniczne: narzędzie do porównywania rachunków z bankiem, kartami i księgowymOgólny cel Potrzebne jest lokalne narzędzie (skrypt/mała aplikacja w Pythonie), które uruchamiane ręcznie co 1-2 miesiące na moim komputerze i dokonuje porównania między: Rachunkami, które…

PythonAplikacje desktopowe ∙ 2 dni 21 godzin temu ∙ 42 oferty

Dodać przerwy 10-30 sekund między wysyłkami e-maili

Witam! Szukam doświadczonego programisty 1C / BAS (BAF) do szybkiego rozwiązania problemu technicznego z wysyłką maili.Istota problemu: Używamy programu księgowego BAF (Business Automation Framework), edycja 2.0. Raz w miesiącu pojawia się potrzeba masowego wysyłania klientom…

Programowanie stron internetowychAplikacje desktopowe ∙ 8 dni 13 godzin temu ∙ 10 ofert

Rewersowe inżynieria konsolowych narzędzi do ankietowania kontrolerów SSD (Flash ID)

1. Cel pracy Wydzielenie interfejsu programowania aplikacji (API) do interakcji z kontrolerami SSD/NVMe z dostarczonego zestawu narzędzi konsolowych (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron itd.). Wynikiem ma być działający kod w języku C/C++ lub dokładna…

C i C++Aplikacje desktopowe ∙ 9 dni temu ∙ 6 ofert

Zleceniodawca
Dmitry Balabko
Kanada Montreala
Zlecenie zostało opublikowane
6 lat temu
206 wyświetleń