我想獲得與芹菜和Django的RabbitMQ去EC2實例做一些相當基本的後臺處理。我在一個大的EC2實例上運行rabbitmq-server 2.5.0。在EC2上的RabbitMQ消耗CPU的CPU
我按照說明here(位於頁面最底部)下載並安裝了測試客戶端。我一直只是讓測試腳本去,我得到預期的輸出:
recving rate: 2350 msg/s, min/avg/max latency: 588078478/588352905/588588968 microseconds
recving rate: 1844 msg/s, min/avg/max latency: 588589350/588845737/589195341 microseconds
recving rate: 1562 msg/s, min/avg/max latency: 589182735/589571192/589959071 microseconds
recving rate: 2080 msg/s, min/avg/max latency: 589959557/590284302/590679611 microseconds
的問題是,它是消耗CPU的數量驚人:
PID USER PR NI VIRT RES SHR小號%CPU%MEM TIME + COMMAND
668的RabbitMQ 20 0618米506米2340 S166中6.8 2:31.53 beam.smp
1301的ubuntu 20 02142米90米9128 S17中1.2 0:24.75的java
我之前正在測試一個微型實例,它完全消耗了實例上的所有資源。
這是預期的嗎?難道我做錯了什麼?
謝謝。
編輯:
這個崗位的真正原因是celerybeat似乎運行好一段時間,然後突然消耗掉系統的所有資源。我安裝了rabbitmq management tools,並一直在研究如何從芹菜和rabbitmq測試套件創建隊列。在我看來,芹菜使這些隊列孤立,他們不會離開。
這是測試套件生成的隊列。創建一個隊列,所有的郵件會進入它,出來:
Celerybeat爲每次創建一個新的隊列運行任務:
它集自動刪除參數設置爲true,但我不完全確定這些隊列何時會被刪除。他們似乎只是慢慢建立起來,吃資源。
有沒有人有想法?
謝謝。
默認情況下,下一個Celery版本(2.3.0)不會有後端結果。讓它成爲更有意識的選擇,這樣的陷阱就可以避免。 – asksol 2011-06-16 10:54:04
請更新鏈接,頁面不存在 – lfender6445 2014-10-01 18:07:28