用 Python 构建的处理应用程序是 RabbitMQ 消息的侦听器,并将消息转换为另一个 JSON 消息并将其重新发布到另一个交换。它曾经每分钟处理超过 10,000 条消息。服务器更新后,它现在每分钟只处理 40-50 条消息,并且正在使用 100% 的 CPU。
我最近更新了所有运行 'yum update' 的 CentOS6 服务器,并将我们的一些软件包如 Java 升级到 1.7.0_09。从那时起,python 应用程序变得非常缓慢。我们为 Java 中的一个处理器重建了相同的功能进行测试,它的运行速度超过 10,000 / 分钟,所以我很困惑为什么 python 会这么慢。
有什么想法或事情要检查吗?
[root@app1 ~]# python --version
Python 2.6.6
[root@app1 ~]# uname -r
2.6.32-279.14.1.el6.x86_64
[root@app1 ~]# java -version
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.3.el6_3.1-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
[root@app1 ~]#
我刚刚检查了一个未更新的框,这是更新前的操作系统版本:
[root@test1 ~]# uname -r
2.6.32-279.1.1.el6.x86_64
所以从这个版本更新到上面的新版本似乎是变化。看来两个盒子上的 Python 版本相同,所以没有更新。我不知道去哪里看,甚至跟踪服务器审计日志,因为论坛在 RHEL 更新后报告了 python apache 插件的一些 SELinux 权限错误。