2015-08-06 27 views
14

Uygulamamda rabbitmq uyguladım ve windows server 2008 sunucusunda çalışıyor, problem, erl.exe'nin bazen% 40-45 CPU kullanımları gibi yüksek CPU kullanımlarını kullanmasıdır. İdeal durumda bile (herhangi bir sıra işlemediğinde) en az% 4-15 CPU kullanımı gerektirir.RabbitMQ: Yüksek CPU kullanımları alarak erl.exe

Yüksek CPU kullanımı almanın nedeni ne olabilir? Yapmam gereken bir ayar ya da başka bir şey var mı?

+0

Sunucu günlükleri nedir? –

+0

@old_sound erl hakkında bir şey yok. – jkyadav

+0

RabbitMQ günlüklerinde –

cevap

1

Kuyrukta işlem yapmıyor olsanız bile, hala% 4-15 seviyesinde, ancak uygulamanız çalışıyor mu? Daha önce yapmadıysanız, hiçbir uygulama Rabbit kullanmıyorken erl'yi izlemeyi deneyin.

Akla ilk gelen şey, bir döngü içinde QueingBasicConsumer kullanıyor olmanız ve bu da CPU kullanımına katkıda bulunmanız olabilir. QueingBasicConsumer'u kullanıyorsanız ve isabete neden olan şey ise, EventingBasicConsumer ile (meşgul beklemediğiniz şekilde) değiştirmeyi deneyin ve iyileştirme olup olmadığını öğrenin.

Ayrıca, uygulamanız Tavşan'ı nasıl kullanıyor? documentation uyarınca her IConnection bir arka plan iş parçacığı tarafından yedeklenir ve uygulamanızda bir grup bağlantı oluşturuyorsanız, yavaşlama için başka bir neden olabilir.

İlgili konular