рдпрд╣ рд▓реЗрдЦ рдХреЗрд╡рд┐рди рдЧреЛрд▓реНрдбрдмрд░реНрдЧ рдХреЗ рд▓реЗрдЦ "рдкрд╛рдпрдерди WSGI рд╕рд░реНрд╡рд░ рдХрд╛ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг: рднрд╛рдЧ 2" dzone.com/articles/a-performance-analysis-of-python-wsgi-servers- рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рдж рд╣реИред
рдкрд░рд┐рдЪрдп
рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ
рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ , рдЖрдк
WSGI рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░
WSGI рдФрд░ рдЫрд╣ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рдорд┐рд▓реЗ рдереЗред рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рдЖрдкрдХреЛ рдЗрди рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд░реАрдХреНрд╖рдг рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ
рд╕рдордп рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг, рдЕрдиреБрд╕рдВрдзрд╛рди рдЫрд╣ WSGI рд╕рд░реНрд╡рд░реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдерд╛ред рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдирд┐рд░реНрджреЗрд╢реЛрдВ
рдХреЛ GitHub рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рд╢рд╛рдпрдж рд╕рдордп рдХреЗ рд╕рд╛рде, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрдЧрд╛ рдФрд░ рдЕрдиреНрдп WSGI рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдЫрд╣ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ:
- Bjoern рдЦреБрдж рдХреЛ "рдЕрд▓реНрдЯреНрд░рд╛-рдлрд╛рд╕реНрдЯ WSGI рд╕рд░реНрд╡рд░" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рд╕рдмрд╕реЗ рддреЗрдЬрд╝, рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдФрд░ рд╕рдмрд╕реЗ рд╣рд▓реНрдХрд╛ WSGI рд╕рд░реНрд╡рд░" рд╣реИред рд╣рдордиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдпрд╛ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- рдЪреЗрд░реАрдкреА рдПрдХ рдЕрддреНрдпрдВрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛ рдФрд░ рдбрдмреНрд▓реВрдПрд╕рдЬреАрдЖрдИ рд╕рд░реНрд╡рд░ рд╣реИред рдЗрд╕ рдЫреЛрдЯреА рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рдирдореВрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪреЗрд░реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред
- рдЧреБрдирд┐рдХреЙрд░реНрди рд░реВрдмреА рдХреЗ рдпреВрдирд┐рдХреЙрд░реНрди рд╕рд░реНрд╡рд░ (рдЗрд╕рд▓рд┐рдП рдирд╛рдо) рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛ред рд╡рд╣ рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдмрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рдХрд╛рдлреА рддреЗрдЬ рд╣реИред" Bjoern рдФрд░ CherryPy рдХреЗ рд╡рд┐рдкрд░реАрдд, Gunicorn рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕рд░реНрд╡рд░ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ "WORKER_COUNT" рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкреНрд▓рд╕ рдПрдХред рдпрд╣ Gunicorn рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- Meinheld рдПрдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓рд╛ WSGI- рд╕рдВрдЧрдд рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рд╣рд▓реНрдХреЗ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдЯ рдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдордиреЗ рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ред
- mod_wsgi рдХреЛ рдПрдХ рд╣реА рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ mod_python рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ ред Mod_python рдХреА рддрд░рд╣, рдпрд╣ рдХреЗрд╡рд▓ Apache рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдореЗрдВ "mod_wsgi рдПрдХреНрд╕рдкреНрд░реЗрд╕" рдирд╛рдордХ рдПрдХ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╕рдВрднрд╡ рдЕрдкрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде mod_wsgi рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред Gunicorn рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ mod_wsgi рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд╢реНрд░рдорд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдЯреНрдпреВрди рдХрд┐рдпрд╛ред
- uWSGI рдПрдХ рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╣реИред рдЖрдорддреМрд░ рдкрд░, uWSGI рдХреЛ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: Nginx)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдмреЗрд╣рддрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдХреЗрд╡рд▓ рдирдВрдЧреЗ рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рджреЛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред
рдмреЗрдВрдЪрдорд╛рд░реНрдХ
рдкрд░реАрдХреНрд╖рдг рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдХреА рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рд╕рд░реНрд╡рд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ
рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╣рд░ рд▓реЙрдиреНрдЪ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░:
- рдПрдХ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреГрдердХред
- 2 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЧрдПред
- рдХрдВрдЯреЗрдирд░ рдХреА рд░реИрдо 512 рдПрдордмреА рддрдХ рд╕реАрдорд┐рдд рдереАред
рдкрд░реАрдХреНрд╖рдг:
- wrk , рдПрдХ рдЖрдзреБрдирд┐рдХ HTTP рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдЯреВрд▓, рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ред
- рд╕рд░реНрд╡рд░ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рдо рдореЗрдВ 100 рд╕реЗ 10,000 рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рдбреЙрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд╕реАрдкреАрдпреВ рдХреЛрд░ рддрдХ wrk рд╕реАрдорд┐рдд рдерд╛ред
- рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг 30 рд╕реЗрдХрдВрдб рддрдХ рдЪрд▓рд╛ рдФрд░ 4 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ред
рдореАрдЯреНрд░рд┐рдХ:
- рд▓рдЧрд╛рддрд╛рд░ рдЕрдиреБрд░реЛрдзреЛрдВ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рджреЗрд░реА рдХреА рдФрд╕рдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд░реЗрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рдбреЙрдХрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд, рдирд┐рдЧрд░рд╛рдиреА рдиреЗ рд╕реАрдкреАрдпреВ рдФрд░ рд░реИрдо рдЙрдкрдпреЛрдЧ рд╕реНрддрд░реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ред
- рдЙрдЪреНрдЪрддрдо рдФрд░ рдирд┐рдореНрдирддрдо рд░реАрдбрд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рд╢реЗрд╖ рдорд╛рдиреЛрдВ рдХреЛ рдФрд╕рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред
- рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЧрд┐рдЯрд╣рдм рдХреЛ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреЗрдЬреАред
рдкрд░рд┐рдгрд╛рдо
рд╕рднреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдХреЗрддрдХ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЧрдП рдереЗ , рдФрд░ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢
рд╕реАрдПрд╕рд╡реА рдлрд╝рд╛рдЗрд▓ рднреА рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕
Google- doc рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдереЗред
рдЖрд░рдкреАрдПрд╕ рдмрдирд╛рдо рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛
рдпрд╣ рдЧреНрд░рд╛рдл рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдФрд╕рдд рд╕рдВрдЦреНрдпрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ; рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛, рдЙрддрдирд╛ рдЕрдЪреНрдЫрд╛ред


- Bjoern: рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЬреЗрддрд╛ред
- рдЪреЗрд░реАрдкреА: рд╢реБрджреНрдз рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд▓рд╛рдХрд╛рд░ рдерд╛ред
- Meinheld: рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рди рдиреЗ рджреБрд░реНрд▓рдн рдХрдВрдЯреЗрдирд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рджрд┐рдпрд╛ред
- mod_wsgi: рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред
- рдЧреБрдирд┐рдХреЙрд░реНрди: рдХрдо рднрд╛рд░ рдкрд░ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд▓рдбрд╝рд╛рдИ рд╣реИред
- uWSGI: рдЦрд░рд╛рдм рдирддреАрдЬреЛрдВ рд╕реЗ рдирд┐рд░рд╛рд╢
рд╡рд┐рдЬреЗрддрд╛: рдмрдЬрд╝рд░реНрдирдЬреЛрдПрд░реНрди
рдирд┐рд░рдВрддрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ,
рдмреЛрдЬрд╝рд░реНрди рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЬреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рд╣рдо рдереЛрдбрд╝реЗ рд╕рд╢рдВрдХрд┐рдд рд╣реИрдВред рд╣рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐
рдмреЛрдЬрд╝рд░реНрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдиреА рддреЗрдЬрд╕реНрд╡реА рд╣реИрдВред рдкрд╣рд▓реЗ рддреЛ рд╣рдордиреЗ рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдФрд░ рд╣рдордиреЗ рд╕реЛрдЪрд╛ рдХрд┐
рдмреЛрдЬрд╝рд░реНрди рдХреЛ рдЕрдиреБрдЪрд┐рдд рд▓рд╛рдн рдорд┐рд▓рд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд░реИрдВрдбрдо рд╕рд░реНрд╡рд░ рдСрд░реНрдбрд░ рдФрд░ рд░рд┐рдЯрд╛рдпрд░рд┐рдВрдЧ рдореЗрдВ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдкрд░рд┐рдгрд╛рдо рд╡рд╣реА рд░рд╣рддрд╛ рд╣реИред
uWSGI
рд╣рдо
uWSGI рдХреЗ рдХрдордЬреЛрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдирд┐рд░рд╛рд╢ рдереЗред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рдереА рдХрд┐ рд╡рд╣ рд▓реАрдб рдореЗрдВ рд░рд╣реЗрдВрдЧреЗред рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐
uWSGI рд▓реЙрдЧ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╢реБрд░реВ рдореЗрдВ рд╣рдордиреЗ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, "
--disable- рд▓реЙрдЧрд┐рдВрдЧ " рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА,
uWSGI рдЕрднреА рднреА рд╕рдмрд╕реЗ рдзреАрдорд╛ рд╕рд░реНрд╡рд░ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐
uWSGI рдореИрдиреБрдЕрд▓ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ Nginx рдЬреИрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рд▓рдВрдм
рд╡рд┐рд▓рдВрдм рдЕрдиреБрд░реЛрдз рдФрд░ рдЙрд╕рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордп рд╣реИред рдХрдо рд╕рдВрдЦреНрдпрд╛ рдмреЗрд╣рддрд░ рд╣реИред

- рдЪреЗрд░реАрдкреА: рднрд╛рд░ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ред
- Bjoern: рдЖрдо рддреМрд░ рдкрд░ рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕рдорд╡рд░реНрддреА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- Gunicorn: рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕реБрд╕рдВрдЧрддред
- mod_wsgi: рдФрд╕рдд рдкреНрд░рджрд░реНрд╢рди, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рднреАред
- Meinheld: рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкреНрд░рджрд░реНрд╢рдиред
- uWSGI: uWSGI рдлрд┐рд░ рд╕реЗ рдЕрдВрддрд┐рдо рд╕реНрдерд╛рди рдкрд░ рд╣реИред
рд╡рд┐рдЬреЗрддрд╛: рдЪреЗрд░реАрдкреАрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ
рдпрд╣ рдореАрдЯреНрд░рд┐рдХ рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреА "рд▓рдкрдЯ" рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдХрдо рд╕рдВрдЦреНрдпрд╛ рдмреЗрд╣рддрд░ рд╣реИред

- рдмрдЬрд╝рд░реНрди: рдЕрддреНрдпрдзрд┐рдХ рдкреНрд░рдХрд╛рд╢ред рдпрд╣ 10,000 рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 9 рдПрдордмреА рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- рдореАрдирд▓рд╛рдЗрди: рдмреЛрдЬрд░реНрди рдХреЗ рд╕рдорд╛рдиред
- рдЧреБрдирд┐рдХреЙрд░реНрди: рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЙрдЪреНрдЪ рд▓реЛрдб рдХреЗ рд╕рд╛рде рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИред
- рдЪреЗрд░реАрдкреА: рд╢реБрд░реБрдЖрдд рдореЗрдВ рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░реИрдо рдХреА рдЬрд░реВрд░рдд рдереА, рд▓реЗрдХрд┐рди рдмрдврд╝рддреЗ рд▓реЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рд╛ред
- mod_wsgi: рдирд┐рдЪрд▓реЗ рд╕реНрддрд░реЛрдВ рдкрд░, рдпрд╣ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕рдмрд╕реЗ рддреАрд╡реНрд░ рдерд╛, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рд╕реБрд╕рдВрдЧрдд рд░рд╣рд╛ред
- uWSGI: рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рдо рдЬрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдореЗрдВ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╡рд┐рдЬреЗрддрд╛: рдмрдЬрд╝рд░реНрди рдФрд░ рдореАрдирд▓рд╛рдЗрдирддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ, рдпрд╛ рдмрд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдкрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдХрдо рдмреЗрд╣рддрд░ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХреБрд▓ рдЕрдиреБрдкрд╛рдд рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреА рдЧрдгрдирд╛ рдХреА:
- рдЪреЗрд░реАрдкреА: рдЕрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде, рддреНрд░реБрдЯрд┐ рджрд░ 0 рдХреЗ рдЖрд╕рдкрд╛рд╕ред
- Bjoern: рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реБрдИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрд╕рд╛рдзрд┐рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдСрдлрд╕реЗрдЯ рдерд╛ред
- mod_wsgi: 6% рдХреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рддреНрд░реБрдЯрд┐ рджрд░ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдЧреБрдирд┐рдХреЙрд░реНрди: 9 рдкреНрд░рддрд┐рд╢рдд рддреНрд░реБрдЯрд┐ рджрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- uWSGI: рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ 34 рдкреНрд░рддрд┐рд╢рдд рддреНрд░реБрдЯрд┐ рджрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред
- Meinheld: рдЙрдЪреНрдЪ рднрд╛рд░ рдкрд░ рдЧрд┐рд░рдирд╛, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди 10,000 рд╕реЗ рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХрдирд╛ред
рд╡рд┐рдЬреЗрддрд╛: рдЪреЗрд░реАрдкреАCPU рдЙрдкрдпреЛрдЧ
рдпрджрд┐ рд╕рд░реНрд╡рд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдЙрдЪреНрдЪ CPU рдЙрдкрдпреЛрдЧ рдЕрдЪреНрдЫрд╛ рдпрд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд░реЛрдЪрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рджреЛ рд╕реАрдкреАрдпреВ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдЙрдкрдпреЛрдЧ 200 рдкреНрд░рддрд┐рд╢рдд рд╣реИред

- Bjoern: рдПрдХ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рд╕рд░реНрд╡рд░, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ 100% рд╕реАрдкреАрдпреВ рдХреЗ рдирд┐рд░рдВрддрд░ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИред
- рдЪреЗрд░реАрдкреА: рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб, рд▓реЗрдХрд┐рди 150 рдкреНрд░рддрд┐рд╢рдд рдкрд░ рдЕрдЯрдХ рдЧрдпрд╛ред рдпрд╣ рдкрд╛рдпрдерди рдЬреАрдЖрдИрдПрд▓ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
- рдЧреБрдирд┐рдХреЙрд░реНрди: рдирд┐рдЪрд▓реЗ рд╕реНрддрд░реЛрдВ рдкрд░ рд╕реАрдкреАрдпреВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- Meinheld: рдПрдХ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рд╕рд░реНрд╡рд░ рдЬреЛ Bjoern рдЬреИрд╕реЗ CPU рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- mod_wsgi: рд╕рднреА рдорд╛рдкреЛрдВ рдореЗрдВ рд╕рднреА CPU рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рд╕рд░реНрд╡рд░
- uWSGI: рдмрд╣реБрдд рдХрдо CPU рдЙрдкрдпреЛрдЧред рд╕реАрдкреАрдпреВ рдХреА рдЦрдкрдд 50 рдкреНрд░рддрд┐рд╢рдд рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдмреВрддреЛрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕реЗ uWSGI рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рдЬреЗрддрд╛: рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рддреБрд▓рдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрд╡рд▓реЛрдХрди рд╣реИредрдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ! рдпрд╣рд╛рдВ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- Bjoern: рдЦреБрдж рдХреЛ "рд╕реБрдкрд░рдлрд╛рд╕реНрдЯ, рдЕрд▓реНрдЯреНрд░рд╛-рд▓рд╛рдЗрдЯрд╡реЗрдЯ WSGI рд╕рд░реНрд╡рд░" рдХреЗ рд░реВрдк рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред
- рдЪреЗрд░реАрдкреА: рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд рдФрд░ рдХрдо рддреНрд░реБрдЯрд┐ рджрд░ред рд╢реБрджреНрдз рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред
- Gunicorn: рдордзреНрдпрдо рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд░реНрд╡рд░ред
- Meinheld: рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреНрдпреВрдирддрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдЪреНрдЪ рднрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ред
- mod_wsgi: рдЕрдкрд╛рдЪреЗ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдФрд░ рдорд╣рд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- uWSGI: рдмрд╣реБрдд рдирд┐рд░рд╛рд╢ рд╣реИрдВред рдпрд╛ рддреЛ рд╣рдордиреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ uWSGI рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред