рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ, рджреЛ рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ рд╕рд░реНрд╡рд░: рдкрд╛рд░реНрдЯ рдЯреВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг , рдЬрд╣рд╛рдВ рдпреВрдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ рдХреЛ рдкреНрд░рд╕рд┐рджреНрдзрд┐ рд╕реЗ рд╡рдВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рддрддреНрдХрд╛рд▓ рд╣реИ!

рд▓рдХреНрд╖реНрдпреЛрдВ
рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ uWSGI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ 2016 рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЙрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ uWSGI рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛ рдореЗрд░реА рдЦреЛрдЬ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рдкрд╛рдардХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, NginX Unit рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд░рдгреЛрдВ
рдкреНрд░рдХреЛрдк 4.1.0
рдЪрд╢реНрдорд╛ , рдкреИрдЪ , рдЗрдХрдЯреНрдард╛ рдЦреЛрдЬреЗрдВ
рдЬрд╛рдирдХрд╛рд░реА readme.rd рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИред
рдбреЙрдХрдЯрд░ рдЖрдБрдХрдбрд╝реЗ
2 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдВрдХрдбрд╝реЛрдВ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
рдПрдХ рджреВрд╕рд░рд╛ NAME
рдХреЙрд▓рдо рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдФрд░ рдЗрд╕рдиреЗ рдЖрдБрдХрдбрд╝реЗ рдкрд╛рд░реНрд╕рд░ рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ред
рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реНрд╡рд░реВрдкрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
- docker stats > "$BASE/$1.$2.stats" & + docker stats --format "{{.CPUPerc}} {{.MemUsage}}" > "$BASE/$1.$2.stats" &
рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдкрд╛рд░реНрд╕рд░ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд░реЗрдВрдЧреЗред
рдбреЗрдмрд┐рдпрди
рдЕрдм рдирд╡реАрдирддрдо рдбреЗрдмрд┐рдпрди рдЗрдореЗрдЬ рд╕рдВрд╕реНрдХрд░рдг 9.5 рд╣реИ , рдЗрд╕реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:
- FROM debian + FROM debian:9.5
рдЕрдкреНрд░реИрд▓ 2016 рдореЗрдВ, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 8.4 рдерд╛
рдлрд┐рд░ рднреА, рдЕрдкрд╛рдЪреЗ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд░рд╣рд╛: рдЕрдм рдЕрдкрд╛рдЪреЗ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 2.4.25 рд╣реИ, рдФрд░ 2016 рдореЗрдВ рдпрд╣ рдЕрдкрд╛рдЪреЗ 2.4.10 рдерд╛ред
рдЪреЗрд░реА рдЯреЙрд░реНрдиреЗрдбреЛ рдЙрд╡реНрд╕рд┐ рдЧреБрдирд┐рдХреЙрд░реНрди рдмрдЬрд╝рд░реНрди рдорд╛рдЗрдирд╣реЗрдб mod_wsgi
рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдмрджрд▓ рдЧрдП рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
- RUN pip install cherrypy tornado uwsgi gunicorn bjoern meinheld mod_wsgi + RUN pip install cherrypy==17.4.0 \ + uwsgi==2.0.17.1 \ + gunicorn==19.9.0 \ + bjoern=2.2.3 \ + meinheld==0.6.1 \ + mod_wsgi==4.6.5
рдмрд╡рдВрдбрд░ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рдмрд╡рдВрдбрд░ рдлрд╝рд╛рдЗрд▓ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдБ рд╣реИ? рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдЗрд╕реЗ рдЕрд▓рдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд░рдЦрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВред
рдЪреЗрд░реА -> рдЪреЗрд░реВрдЯрд╡реЙрдЧреА
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 17.4.0 рд╣реИред
рдЕрдкреНрд░реИрд▓ 2016 рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг v5.1.0 рд╢рд╛рдпрдж рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдФрд░ 2017 рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг 9.0 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП, рдЬрд┐рд╕рд╕реЗ рд╕рд░реНрд╡рд░ рдЖрдпрд╛рдд рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдЖ:
- from cherrypy import wsgiserver - server = wsgiserver.CherryPyWSGIServer( + from cheroot.wsgi import Server as WSGIServer + server = WSGIServer(
рд╕реЙрдХреЗрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ: 100500 рдкрдврд╝реЗрдВ
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж, рдкрд╣рд▓рд╛ рдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд░рд┐рдгрд╛рдо рдЕрдЪреНрдЫреЗ рдереЗ: uwsgi рдиреЗ 3 ... 200 рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди 7500 ... рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 5000 рдЕрдиреБрд░реЛрдзред
рд▓реЗрдХрд┐рди рдкреНрд░рд╛рдкреНрдд рд░реЗрдЦрд╛рдВрдХрди рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдкрд░реАрдХреНрд╖рд╛ рдкрд░, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ wrk рдиреЗ рд╕рднреА рдЙрддреНрддрд░реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдпрд╛ред
рджрд░реНрдЬрдиреЛрдВ uwsgi рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ http1.1: --http-keepalive рдФрд░ --http11-socket рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереАред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╣рд▓рд╛ 7500 рджреЗрддрд╛ рд╣реИ ... рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 5000 рдкреНрд░рд╢реНрди, рдФрд░ рджреВрд╕рд░рд╛ рд╕реНрдерд┐рд░ 29 рд╣рдЬрд╛рд░!
рдЗрд╕ рд╕рдордп uWSGI рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рдЖрдпрд╛ рд╣реИ
рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЕрдЧрд╕реНрдд 2016 рдореЗрдВ uWSGI 2.0.12 (20151230) рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдордИ рдХреЗ рдмрд╛рдж, uWSGI 2.0.13 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред
рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛ рдереА, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ 2018 рддрдХ wrk рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛, uWSGI 2.0.16 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде:
2.1 рд╕реЗ рдмреИрдХ-рдкреЛрд░реНрдЯреЗрдб HTTP / 1.1 рд╕рдкреЛрд░реНрдЯ (--http11-socket)
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ NWSX рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП uWSGI рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рдереА,
рдФрд░ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИ рдпрд╣ 2012 рдореЗрдВ рдЗрд╕ рдЯрд┐рдХрдЯ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдлрд┐рд░ рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдо рдХреНрдпреЛрдВ рдереЗ
рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
- рдбреЗрдмрд┐рдпрди 8.4 рдХреЗ рд▓рд┐рдП 2.0.12, рдиреМ рдкрд░ рдпрд╣ рддрд╛рдЬреЗ рдЦреБрд▓рдиреЗ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
- 2.0.13 ... 2.0.17 рдбреЗрдмрд┐рдпрди 8.4 рдФрд░ 9.5 рдХреЗ рд▓рд┐рдП
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреБрд░реЗ рдкрд░рд┐рдгрд╛рдо 3 ... 200 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗ рдереЗред
рдзреНрдпрд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
uwsgi --http: 9808 --plugin python2 --wsgi-file app.py --processes ...
рдкреНрд▓рдЧ-рдЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ uwsgi рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдкрд╛рдЗрдк рдХреЛред
рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рдХреЛ рдЗрд╕ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдХрдИ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ:
- рдкреНрд░рддреНрдпреЗрдХ uwsgi- рд╕рд░реНрд╡рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- Uwsgi рдХреЗ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмреАрдЪ рдХреБрдЫ рд╕рдВрдШрд░реНрд╖ рдерд╛ рдФрд░ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- 2016 рдореЗрдВ рд▓реЗрдЦрдХ рдХреЗ рд░реЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ http1.0 рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдереАрдВ
- uwsgi рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ
- рдХрд╕реНрдЯрдо рд▓реЗрдЦ, рдЫрдд рд╕реЗ рдЖрдВрдХрдбрд╝реЗред
рдЕрдм рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИрдВ
рдЪрд╛рд░реНрдЯ рдкрд░ uWSGI рдХрдИ рд╣реИрдВ:
рдкрд╣рд▓реЗ рджреЛ uWSGI рдФрд░ uWSGIbase (v2.0.17.1) рдПрдХ рд▓рдВрдмреА рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ, рдЕрдкрдиреЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдирд┐рдореНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдП рдЧрдП рдереЗ:
--http11 :9808 --processes 5 --threads 2 --enable-threads
ред
--http11 :9808 --processes 5
рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдбрдореА рдЖрд╡реЗрджрди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЧреБрдгрд╛рддреНрдордХ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред
рдФрд░, рдЕрд▓рдЧ рд╕реЗ, 2016 uWSGI рд╕рдВрд╕реНрдХрд░рдг:
uWSGI-v2.0.12th- рдкреБрд░рд╛рдирд╛ рдФрд░ uWSGI-v2.0.12nt- рдкреБрд░рд╛рдирд╛ - рдХреНрд░рдорд╢рдГ v2.0.12 рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдбреЗрдмрд┐рдпрди 8.4 рдХрдВрдЯреЗрдирд░ рдореЗрдВред
--http :9808 --http-keepalive --processes 5 --threads 2 --enable-threads
--http :9808 --http-keepalive --processes 5

UWSGI рдмрдврд╝рддреЗ рднрд╛рд░ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХрдо рдХрд┐рдП рдмрд┐рдирд╛, 2 рд╡рд╛рдВ рд╕реНрдерд╛рди рд▓реЗрддрд╛ рд╣реИред
рддреАрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ NginX Unit рд╣реИред

рдирд┐рдореНрди-рдЦрдВрдб рдореЗрдВ, рд▓реЛрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рднреА uWSGI-v2.0.12 рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпреВрдирд┐рдЯ рдиреЗ рдЕрдкрдирд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкрдХреНрд╖ рдХреИрд╕реЗ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ред

uWSGI рдФрд░ рдЪреЗрд░реАрдкреА рд▓реЗрдЯреЗрдВрд╕реА рдореЗрдВ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рд╡рд┐рдЬреЗрддрд╛ рд╣реИрдВред

рдпрд╣ рддрд╕реНрд╡реАрд░ 2016 рдХреЗ рд╕рдорд╛рди рд╣реИред

рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреБрд░рд╛рдиреЗ uWSGI рдиреЗ рдХреИрд╕реЗ рдмрдврд╝рддреЗ рд▓реЛрдб рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдХреЛ рдЦрд╛рдпрд╛ред
рдЗрдХрд╛рдИ рднреА рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдХреЛ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рддреА рд╣реИред

рдФрд░ рдирдпрд╛ uWSGI, gunicorn, mod_wsgi - рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ "рдмрд╛рд░ рд░рдЦреЗрдВ", рдФрд░ рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рдХрд╣рддрд╛ рд╣реИред

рдкреБрд░рд╛рдиреЗ рдпреВрдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ 300 рдЦреБрд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж рддреЗрдЬреА рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЗрдХрд╛рдИ рдФрд░ рдЪреЗрд░реАрдкреА - рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ!
рдмрдЬрд╝рд░реНрди 1000 рдпреМрдЧрд┐рдХреЛрдВ рдХреЗ рд╕рд╛рде рджрд╛рди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдирдП рдпреВрдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ рдЕрдЬреАрдмрддрд╛ рдХреЗ рд╕рд╛рде, 200 рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░, рд╣рдореЗрдВ 50 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ, рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдЕрдм рдирд╣реАрдВ рдмрдврд╝рддреА рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдпрд╣рд╛рдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕рднреА рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЖрд░рдкреА рдореЗрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
uWSGI рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!
рдпрджрд┐ рдЖрдк WRK рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЕрдиреНрдп рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦреЗрдВред