Мое приложение в основном представляет собой маршрутизатор на основе контента, который будет маршрутизировать события MMS.
Регистратор, который я использую, поставляется с инфраструктурой OTP в режиме SASL error_logger
Проблема в том::
Я использую клиент для генерации событий MMS со значениями по умолчанию. Этот клиент (на Java) может отправлять большое количество событий в нескольких ПОТОКАХ.
Я отправляю 100 событий в 10 потоках (каждый поток отправляет 10 событий MMS) на мой маршрутизатор, написанный на Erlang/OTP.
Проблема в том, что когда мой маршрутизатор получает такую высокую нагрузку, мой Logger зависает, т.е. он перестает обновлять мой файл журнала. Но маршрутизатор по-прежнему может маршрутизировать события.
Выводы, к которым я пришел, следующие::
Проблема с планированием в Erlang при такой высокой загрузке событий (отдельный процесс для каждого события).
Очень маловероятное состояние мертвой блокировки.
Возможно, это связано с отправкой событий в несколько потоков, а не с их последовательной отправкой. Но я предполагаю, что маршрутизатор будет подключен к нескольким ящикам поставщика услуг, поэтому я подумал об отправке событий в потоки.
Может ли кто-нибудь помочь mw в демистификации проблемы?