我有一个非常简单的Bottle应用程序,只有一个功能。 它主要是I / O绑定,但是会进行一些处理。我的应用实例不必相互通信。
我在8核机器上运行它并想要优化TPS。
如果我按照Bottle with Paste示例。只使用1个CPU。
bottle.run(server='paste')
如果我使用Gunicorn进行8个进程,我就不会拥有线程的优势。
bottle.run(server='gunicorn', workers=8)
在https://stackoverflow.com/a/20985164/604515中,建议将Tornado与start
选项一起使用。但是,当我像这样启动时,我无法让Tornado分叉,因为ps uxaf
只会显示一个进程。
bottle.run(server='tornado', start=8)
那么,如何在SMP机器上配置Bottle以获得最大TPS?