我正在检查 RabbitMQ 的性能。我编写了一个 python 程序,它使用 pub-sub 创建了一些进程。我希望对系统进行分析,以查看其总消息输出和最大频率。
我使用 LTTng 和组合跟踪罗盘来查看输出。我使用 LTTng 来跟踪内核。这是我用来捕获数据的 lttng 命令。
sudo lttng create -o ~/lttng_test session_test
sudo lttng enable-event session_test -k -a -c channel_test
sudo lttng start
sudo lttng stop
sudo lttng destroy
我能够查看我的程序创建的所有进程并分析数据。但我的结果似乎没有定论。有时我的 python 进程正在等待 cpu(标记为橙色),这表明它们正在执行实际工作。有时他们似乎等待阻塞(标记为黄色),所以他们正在等待事件而不做任何工作。
通过 trace-compass 处理数据时,我找不到可以解释某些结果的 RabbitMQ 进程。我注意到他们是从一个名为 rabbitmq 的用户那里运行的。
我的机器运行的是 ubuntu 14.04。