计算zope的最佳解释器检查间隔
jarn.checkinterval的Python项目详细描述
计算运行它的计算机的最佳解释器检查间隔。 公式如下:
<result of pystone benchmark> / 50
安装和使用
checkinterval脚本必须安装到用于 运行zope。这最容易通过在buildout.cfg中添加一个部分来实现:
[buildout] parts = checkinterval [checkinterval] recipe = zc.recipe.egg eggs = jarn.checkinterval
重新运行构建后,键入:
$ ./bin/checkinterval 1305
你看到的数字是这台机器的推荐检查间隔;把它 进入zope.conf文件:
python-check-interval 1305
现在重新启动Zope并沐浴在光芒中。
为什么在乎?
关于check interval主题的python库引用: “此整数值确定解释器检查周期性 例如线程开关和信号处理程序。默认值是100, 这意味着每100条python虚拟指令执行一次检查。 将其设置为更大的值可能会提高使用 线程“
现在,zope应用程序服务器就是这样一个程序,它对的好处非常大 设置正确的检查间隔。如果值太低,zope 线程被不必要地中断,导致显著的性能下降 今天的多CPU硬件。
50个是从哪里来的?
公式中的常数50由zope执行的基准确定。 并已成为“Zope知识”的一部分(参见 Matt Kromer)。超过pystone/50不会产生更多的好处。
对于除了zope和 英特尔以外的平台。
背景
更多关于检查间隔和来自David Beazly的gil的信息。
对于那些从beazly talk回来的人:zope使用长时间运行的线程 asyncore,使它(更)独立于操作系统调度问题。尽管如此, 中断论点成立。
更改日志
1.0-2009-06-13
- 初始版本