在Python优化模式下运行gunicorn

Aar*_*hif 5 django performance gunicorn

通过优化模式,我的意思是没有断言,可能没有文档字符串,.pyo而不是.pyc.

简而言之,我有一个 django 项目,以标准样式 ( ) 通过 Gunicorn(v18.0)gunicorn 'module.wsgi:application'运行

我无法在文档或在线其他地方找到参考。

Leo*_*o.Z 4

PYTHONOPTIMIZE如果您真正了解自己在做什么,则可以设置环境变量。

# e.g.
# same as -O
export PYTHONOPTIMIZE=1
# same as -OO
export PYTHONOPTIMIZE=2
Run Code Online (Sandbox Code Playgroud)

参考:Python 文档:命令行和环境

Python优化

如果将其设置为非空字符串,则相当于指定 -O 选项。如果设置为整数,则相当于多次指定-O。

但通常你不应该这样做!

Deestan对另一个问题“Python Assert 的最佳实践”的回答真的很棒:

断言应该用于测试不应该发生的情况。

目的是在程序状态损坏的情况下尽早崩溃。

通常 django 应用程序会使用许多其他库。当发生关键事件时,并且这些库认为应用程序应该立即崩溃,它们会遵循上述最佳实践并使用断言。你不想打破它。

  • “但通常你不应该这样做!!!”我不同意。“assert”语句并不适合生产,因为它们可能会被您无法控制的东西禁用。您不应该在生产环境中依赖它。请参阅同一问题的答案 /sf/answers/128688801/ (4认同)