【发布时间】:2012-07-11 19:50:14
【问题描述】:
使用完全相同的代码,每次调用服务器上的记录器方法(例如 logger.debug)大约需要 50 毫秒,而在开发机器上则不到 1 毫秒。记录器正在输出到文件,并进行了一些格式化。
除了日志记录速度变慢之外,服务器速度是原来的两倍。
我正在 Windows 7 上的 VMWare 内运行的 Ubuntu 11.04 (Gnome) 上进行开发。服务器正在运行 Ubuntu Server 11.04(无 GUI,纯控制台)。日志模块是官方的“日志”模块(“import logging ... logger = logging.getLogger('mylogger')”)。
知道是什么原因造成的吗?实在是太郁闷了!
感谢您的帮助!
编辑:两台机器都为其版本返回“Python 2.7.1+”。两台机器都运行 64 位 Ubuntu。
服务器的硬盘配置是软件 RAID-1,而在开发计算机中只有一个驱动器。
EDIT2:接受了 Fabian 的回答,因为它是彻底的,虽然它并没有完全解决问题。
解决方案:写入控制台,句号,非常慢。我测试了将 X 写入文件,并将 X 写入控制台,控制台的速度大约慢了 100 倍。我不知道为什么会这样,但我只是从另一台计算机上运行了我使用 ssh 运行的程序,一切都解决了。
【问题讨论】:
-
你能把两个python的版本都发一下吗
-
您还可以检查两台机器上是否使用了完全相同的记录器。
logging_tree包在那里很有用。 -
你可以尝试登录到标准输出而不是文件并检查速度是否改变。可能是硬盘问题。
-
可能是磁盘速度差异?
-
您可能想要实际分析您的代码 (docs.python.org/library/profile.html#module-cProfile),以查看哪些函数运行速度明显变慢。
标签: python performance logging ubuntu console