MariaDB +. net ядро ​​в linux или docker не работает в сценарии высокой нагрузки. Работает с локальной Windows машины - PullRequest
0 голосов
/ 03 февраля 2020

Я думаю, что я точно определил свою проблему, и похоже, что она экологическая.

В основном одно из приложений, которое выполняет много вычислений данных (ML), имеет проблемы с доступом к этим данным. в сценарии с высокой нагрузкой.

У меня есть. net приложение core 3.0, использующее Worker для подключения к MySQL и получения данных (~ 4000-5000 запросов в секунду в течение ~ 60 секунд).

Когда я запускаю его локально через do tnet run, кажется, что он работает нормально (никогда не видел ошибки). Однако, когда я попытаюсь запустить его через docker (образ microsoft 3.101 или bioni c 3.101 sdk / runtime) или напрямую из Ubuntu с 3.1 sdk, я начну получать странные случайные ошибки (т. Е. Таблица не существует, операция отменена, часто приложение зависало без ошибки (поток на Hangfire, при запуске без него, прекращал привязку к RabbitMQ et c. в таком странном состоянии)).

Теперь я запускаю его без Hangfire, с указанными потоками, которые запускаются через работника.

Странно то, что все ошибки будут иметь пути

".... in C:\projects\mysqlconnector\src\MySqlConnector\...\xxxxx.cs"

Однако это происходит на Linux / Docker linux изображении , поэтому не уверен, как он может узнать о существовании C: ...

Это полностью убивает меня за последние 72 часа, так как это большая новая функция, которая использует ML для обработки огромного количества данные почасовые, и в основном MySQL не работает с ними ни в одной среде, кроме dev (локальный компьютер с windows).

1 Ответ

0 голосов
/ 04 февраля 2020

Вызвано поврежденной библиотекой, созданной из источника. Разработчику как-то удалось использовать. net core /. net framework в качестве цели, разрушающей весь проект. Однако в Windows он работал нормально.

Была также другая подобная библиотека, по ошибке использованная в одной из исходных библиотек ... Именно поэтому она работала в большинстве случаев ...

Решено удалив поврежденную библиотеку, используя другую сборку, в которой не будет поврежденной цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...