使用完全相同的代码,在服务器上调用记录器方法(例如logger.debug)大约需要50毫秒,而在开发机上则少于1毫秒。记录器输出到文件,并进行了一些格式化。
除记录日志外,服务器的速度是两倍快的。
我正在Ubuntu 11.04(Gnome)上开发,运行在Windows 7上的VMWare中。服务器运行Ubuntu Server 11.04(无GUI,纯控制台)。记录模块是官方“logging”模块(“import logging…logger = logging.getLogger('mylogger')”)。
有什么想法会导致这种情况吗?这真的非常令人沮丧!
感谢任何帮助!
编辑:两台计算机的版本都返回“Python 2.7.1 +”。两台计算机都运行64位Ubuntu。
硬盘配置服务器是软件RAID-1,而在开发计算机中只有一个单独的驱动器。
编辑2:接受Fabian的答案,因为它很彻底,尽管它没有完全解决问题。
解决方案:向控制台写入,就是非常慢。我测试将X写入文件和将X写入控制台,后者大约慢100倍。我不知道为什么会这样,但我只是从另一台计算机上通过ssh运行了我正在运行的内容,然后一切都解决了。
除记录日志外,服务器的速度是两倍快的。
我正在Ubuntu 11.04(Gnome)上开发,运行在Windows 7上的VMWare中。服务器运行Ubuntu Server 11.04(无GUI,纯控制台)。记录模块是官方“logging”模块(“import logging…logger = logging.getLogger('mylogger')”)。
有什么想法会导致这种情况吗?这真的非常令人沮丧!
感谢任何帮助!
编辑:两台计算机的版本都返回“Python 2.7.1 +”。两台计算机都运行64位Ubuntu。
硬盘配置服务器是软件RAID-1,而在开发计算机中只有一个单独的驱动器。
编辑2:接受Fabian的答案,因为它很彻底,尽管它没有完全解决问题。
解决方案:向控制台写入,就是非常慢。我测试将X写入文件和将X写入控制台,后者大约慢100倍。我不知道为什么会这样,但我只是从另一台计算机上通过ssh运行了我正在运行的内容,然后一切都解决了。
logging_tree
包在这方面非常有用。 - David Wolever