рджрд╛рджреЛрдХ Django рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдпрд╛ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ

рдЫрд╡рд┐ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрджреНрднреБрдд Django рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ рд░реВрдкрд░реЗрдЦрд╛ рдЖрдкрдХреЛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдорд╣рд╛рди рд▓рдЪреАрд▓рд╛рдкрди рд╣реИред рдЙрдирдХреЗ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд╛рдЗрдЯ рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдЗрд╕рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рд╣реА рд╕рдордп рдореЗрдВ рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред



рдЗрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрдХрд╛рдмрд▓рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред



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

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рд▓рд┐рдпрд╛ред



рдХреБрдЫ рд╕рд░реНрд╡рд░ рдЬрд╛рдирдХрд╛рд░реА:

- рд▓рд┐рдирдХреНрд╕ alex.tests 2.6.33.2 # 1 рдПрд╕рдПрдордкреА рдмреБрдз 7 рдЕрдкреНрд░реИрд▓ 10:36:28 рдПрдордПрд╕рдбреА 2010 i686 GNU / рд▓рд┐рдирдХреНрд╕

рдбреЗрдмрд┐рдпрди рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ 5.0 \ n \ l

Intel┬о Core (TM) 2 рдбреБрдУ рд╕реАрдкреАрдпреВ E8400 @ 3.00GHz

рд╕реАрдкреАрдпреВ рдХреЛрд░: 2



рдПрд▓реЗрдХреНрд╕: ~ # рдлреНрд░реА -рдПрдо

рдХреБрд▓ рдЙрдкрдпреЛрдЧ рдореБрдХреНрдд рд╕рд╛рдЭрд╛ рдмрдлрд╝рд░реНрд╕ рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдореЗрдо: 3291 224 3067 0 10 187

- / + рдмрдлрд╝рд░реНрд╕ / рдХреИрд╢: 26 3264

рд╕реНрд╡реИрдк: реирежрелрел реж реирежрелрел



- рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рддреАрди рд╕реНрдирд╛рдпреБрдмрдВрдзрди рдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛:

1) рдЕрдкрд╛рдЪреЗ 2 + mod_wsgi

рдпрд╣ рдЖрдЬ рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рдФрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рджреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдПрдореНрдмреЗрдбреЗрдб-рдореЛрдб (рдЬрд╣рд╛рдВ рдЕрдкрд╛рдЪреЗ mod_python рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдФрд░ рддрдерд╛рдХрдерд┐рдд рдбреЗрдорди-рдореЛрдб, FastCGI / SCGI рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рдорд╛рди рд╣реИред



2) рдирдЧреНрдиреЗрдХреНрд╕ + рдлреНрд▓реЙрдк

рдлрд╝реНрд▓рдк рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди WSGI рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдпрд╣ FastCGI рдореЛрдб рдореЗрдВ django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдзрд┐ рд╣реИред



3) рдирдЧреНрдиреЗрдХреНрд╕ + рд╕реБрдкрд░рдлреЗрдХрдЧреА

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ "Fastcgi рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ WSGI рдРрдк рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ"ред рдЗрд╕рдХреЗ рд▓реЗрдЦрдХ рдмрд░рдмреБрдЬрд╛ рд╣реИрдВ ред рдпрд╣ рд╕рдорд╛рдзрд╛рди рдмрд╛рдХреА рдХреА рддрд░рд╣ рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред



рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдкрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдХреГрддреНрд░рд┐рдо рд╕реАрдорд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

ulimit -n 10240 (рдЗрд╕ рд╢реЗрд▓ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░)

sysctl -w net.core.somaxconn = 150000 (рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛)

sysctl -w fs.file-max = 100000 (рдЦреБрд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛)



рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдЙрд╕реА рд░реИрдХ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд XEN рдкрд░ рд╕рд╛рдорд╛рдиреНрдп VDS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд▓реЛрдб рдХреИрдВрдЯрд░рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ, рдпрд╣ рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред

рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╕рд░рд▓ Django рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдерд╛, рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рджреНрд╡рд╛рд░рд╛, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╢реНрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ HTML-рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рдереЗред рдЗрд╕ URL рдкрд░, рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд╕рд╛рде 20,000 рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рдереЗред



рдкреНрд░рддреНрдпреЗрдХ рдЬрд╛рджреВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдкрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред



рд╣рдо рдЙрддреНрддрд░ рджрд░ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗред рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рднреА рджрд┐рд▓рдЪрд╕реНрдк рдереАред



рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереЗ:



рдЫрд╡рд┐

рдЫрд╡рд┐



рдкреВрд░реНрдг рдиреЗрддрд╛ nginx + superfcgi рдмрдВрдбрд▓ рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╕рд╛рдиреА рдХреЗ рд╕рд╛рде, рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрддреНрдкрд╛рджрди рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдЗрд╕ рдмрдВрдбрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ 6000 рдЕрдиреБрд░реЛрдзреЛрдВ (рджреВрд╕рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд) рдХреЗ рд╕рд╛рде рднреА, рд╕рдордп рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рдирд╣реАрдВ рдереАред рдЕрдзрд┐рдХрддрдо рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП 318Mb рдФрд░ рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рдЧрднрдЧ 290Mb рдерд╛ред



рдФрд░ рдЕрдм рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕реБрдЭрд╛рд╡: рд╣рдмрд░ рдХреЗ рд╕рднреА рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдЦрд░реАрджрд╛, рд╣рдо рди рдХреЗрд╡рд▓ рдЗрд╕ рдмрдВрдбрд▓ рдХреЛ рдореБрдлреНрдд рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ рдЯрд┐рдХрдЯ рд▓рд┐рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдЧреБрд░реБ рд╡рд┐рднрд╛рдЧ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ), рд▓реЗрдХрд┐рди рд╣рдо рд╕рд░реНрд╡рд░ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП 30% рдХреА рдЫреВрдЯ рднреА рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред ред рдЫреВрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдЖрджреЗрд╢ рджреЗрддреЗ рд╕рдордп рд╣реИрдмрд░реЗрдбрд┐рдХред



All Articles