Как обнаружить слишком много сообщений? [Akka Actors]

Любой актер может получить слишком много сообщений. Как обнаружить такое узкое место?

Если это произойдет, то как будет выглядеть загрузка процессора? Всегда ли будет хотя бы 1 ядро ​​при 100% использовании или нет?

В Akka 1.x я мог проверить длину очереди сообщений, но она недоступна в 2.x. Как с этим бороться сейчас?

1 ответ

Слишком много сообщений в актере не вызывают проблем с процессором - они в конечном итоге потребляют много памяти в зависимости от сообщений и используемой стратегии. Посмотрите на эти стратегии: http://doc.akka.io/docs/akka/2.4.16/scala/mailboxes.html По умолчанию используется неограниченный почтовый ящик - поэтому система будет поглощать всю память... (рассмотреть возможность использования противодавления для таких случаев - см. потоки Акка)

Kamon позволяет видеть метрики актеров (размер почтового ящика и т. Д.). Это довольно просто настроить (но требует аспекта) http://kamon.io/integrations/akka/actor-router-and-dispatcher-metrics/

Другие вопросы по тегам