рд▓реЗрдЦ "PHP- рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдЕрдиреБрдХреВрд▓рди" рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕реНрд╡рд╛рдЧрдд



рдпрд╣ рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ рдХрд┐ рд╣рд╛рдмрд░рд╛рд╣рд╛рдм рдиреЗ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ PHP рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ mocksoul рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рд╣реИ: www.habrahabr.ru/blog/webdev/19129.html ред рд╢рд╛рдпрдж рдмрд╣реБрдд рд▓рдВрдмрд╛ред :)





"

рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдПрдХ рдкрддреНрд░ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп рдХреЛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЕрдкрдиреА рдХреБрдЫ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рдкрд╛рдКрдВрдЧрд╛ рдФрд░ рдЬреНрдЮрд╛рди рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рднрд░реВрдВрдЧрд╛ рдЬреЛ рд╢рд╛рдпрдж рдореМрдЬреВрдж рд╣реИрдВред



1. "рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬрдм рдореИрдВ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ - рдПрдХ рд▓рдХреНрд╖реНрдп рдерд╛ - рд╕реАрдбреЗрд▓ рд╕реАрд▓реЛрди 2.6GHz рдкрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдо рд╕реЗ рдХрдо 50 рдХреНрд╡реЗрд╢реНрдЪрдиред" рдПрдХ рдЧрдВрднреАрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдирд┐рдпреЛрдХреНрддрд╛рдУрдВ рд╕реЗ рдРрд╕реЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рджреВрд░, рдмрд╣реБрдд рджреВрд░ рддрдХ рдЫрд┐рдкрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред :) рд▓рдХреНрд╖реНрдп рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗ рджреВрд░ рд╣реИред рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП 5-10 рд╣рдЬрд╛рд░ рдбреЙрд▓рд░ рдЦрд░реНрдЪ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рд╕рд░реНрд╡рд░ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП (рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП) рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдорд╣реАрдиреЗ 1-2 рд╣рдЬрд╛рд░ рддрдХ (рдХреБрдЫ рдХреЗ рд▓рд┐рдП) рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдЬреЛ рдРрд╕реЗ рдЪрдорддреНрдХрд╛рд░реЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред :) рдХреНрд╖рдорд╛ рдХрд░реЗрдВред



2. "LigHTTPdред рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рддред Sys-epoll рдХреЗ рд╕рд╛рдеред "рдЗрд╕ epoll рдореЗрдВ kqueue рд╕реЗ рдкрд╣рд▓реЗ рдЧрдВрднреАрд░ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдПрдЖрдИрдУ рдФрд░ рдЯрд╛рдЗрдорд░ рджреЗрдЦрдиреЗ рдХреА рдХрдореА, рдФрд░ рдХреЗрд╡рд▓ рдкрд░рдорд╛рдгреБ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓рд┐рдирдХреНрд╕ рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ "рдРрд╕рд╛ рд╣реБрдЖ"?



3. "PHP5ред FastCGI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред тАЭрджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, PHP рдкреВрд░реА рддрд░рд╣ рд╕реЗ FCGI- рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рднреА fcgi рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИрдВ рдФрд░ рдмреИрдХрд▓реЙрдЧ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреВрд▓ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░рдд-рдкреНрд░рдмрдВрдзрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдмрд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ - рдЬрдм рддрдХ рдХрд┐ рдПрдХ рдХрдард┐рди рдкреБрдирд░рд╛рд░рдВрдн рди рд╣реЛред рдЖрдк ab -n 100000 -c (PHP_FCGI_CHILDREN + 1) рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдЪрд▓рд╛рдХрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдРрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред



4. '' --with-gdbm ''ред рдЕрдиреНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ - gdbm рд╕рд╣рд┐рдд, рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЧрд▓рддреА рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рдпрд╛ рдЙрдкрдпреЛрдЧ? рдпрд╣ shm рдореЗрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред



5. '' --without-mysqli ''ред >: рдУ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рддреИрдпрд╛рд░ рдмрдпрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдмрд╣реБрдХреНрд░рд┐рдпрд╛?



6. "PHP_FCGI_CHILDREN" => "32" рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рд╣реБрдЖ рд╣реИ, рдЬрд╣рд╛рдВ рдХреЛрдб рдЗрддрдирд╛ рднрдпрд╛рдирдХ рдерд╛ рдХрд┐ 10 рд╕рдорд╛рдирд╛рдВрддрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдПрдХ рдорд╣рдВрдЧрд╛ рд╕рд░реНрд╡рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рд╕реНрдЯрд┐рдХ рдХреА рддреНрд╡рд░рд┐рдд рдЦрд░реАрдж рд╕реЗ рдмрдЪрд╛рдП рдЧрдП :) рдФрд░ PHP_FCGI_CHILDREN рдореЗрдВ рд╡реГрджреНрдзрд┐ рдЬреЛ рдЕрдзрд┐рдХрддрдо рд╡рд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ - 256ред рдмрд╛рдж рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдФрд░ рдкреВрд▓ рдХреЛ рдШрдЯрд╛рдХрд░ 32 рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред



9. "рдХреГрдкрдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдорд╛рд░реЗрдВ рдФрд░ nth рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирдпрд╛ рдмрдирд╛рдПрдВ" - рдпрд╣ рдорд╛рди рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдлрд╕реАрдЬреАрдЖрдИ (рдорддрджрд╛рди рдХреЗ рд╕рд╛рде) рдХреЗ рд▓рд┐рдП рдЖрддреНрдореАрдпрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рд╕рдлрд▓ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЙрд╕рдХреЗ рд░рдЦ-рд░рдЦрд╛рд╡ рдХреЗ рднреАрддрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реЗрд╡рд╛ рджреЗрдирд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо php рджреНрд╡рд╛рд░рд╛ рд╣рд┐рдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ php рдХреЗ рдФрд╕рдд рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ / рдпрд╛рддреНрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ "рдЬрд╛рджреВ" рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ - рдореИрдВ рдкрд╣рд▓реЗ рд╡рд┐рдЪрд▓рди рдХреЛ рдЕрд╡рд╢реЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1.618 рд▓реЗрддрд╛ рд╣реВрдВред рдЖрдорддреМрд░ рдкрд░ 600-1100 рдХреЗ рдСрд░реНрдбрд░ рд╕реЗ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред



9. "рд╣рдо рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рдФрд░ рддреНрд╡рд░рд┐рдд рдмрдирд╛рдпрд╛ рдЬрд╛рдПред" рдирд╣реАрдВ, рдирд╣реАрдВ рдФрд░ рдирд╣реАрдВ! рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдкреАрдбреА / рдПрдХреНрд╕рдбреЗрдмрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдПрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрд╕реА рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдЙрдкрдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рдЗрд╕реА рддрд░рд╣ рдЯреЗрдмрд▓реНрд╕, рдХреИрд╢рд┐рдВрдЧ, рдЖрджрд┐ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП



9. "рдпрджрд┐ рдЖрдк рд╢рд╛рдпрдж рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЬреНрдпрд╛рджрд╛рддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ_рдФрд░__рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред тАЭрд╡реЗ рд▓рдЧрднрдЧ 3-11 рдЧреБрдирд╛ рдзреАрдореА рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрдиреЗрдХреНрд╢рди рдорд╛рдирдЪрд┐рддреНрд░ рд╣реИред рдмрд╛рдж рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдУрдкрдХреЛрдб рдХреИрд╢ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд░рди рдХреЗ рд▓рд┐рдП рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред



9. "php рдореЗрдВ array_ * рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реИрдореНрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рдВрд╕ ┬╗рд▓реИрдВрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рд╡рд┐рдкрдХреНрд╖: рдкрдардиреАрдпрддрд╛ рдХрд╛ рд╣реНрд░рд╛рд╕, рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рднрдВрдбрд╛рд░рдг (рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдареАрдХ рдЙрд╕реА рд╕рдордп рд╣реИ рдЬрдм рдЧрдгрдирд╛ ($ рдЧрд┐рд░рдлреНрддрд╛рд░реА) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ), рд╕рдВрдХрд▓рди-рд╕рдордп рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛, рдЖрджрд┐ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред



11. "foreach ($ рдЧрд┐рд░рдлреНрддрд╛рд░реА рдХреЗ рд░реВрдк рдореЗрдВ $ рдХреБрдВрдЬреА => рдФрд░ $ рд╡реИрд▓) {...}ред" рдпрд╣ рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдореЗрдВ memory_get_usage () рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



12. "is_null () - рдПрдХ рдмреЗрд╡рдХреВрдл рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред" рдФрд░ www.php.net/manual/en/types.comparison.php рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ PHP рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХрд┐рдпрд╛ рдерд╛ ред



13. "рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдпрджрд┐ рдЖрдк рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВ - рд▓рдЧрд╛рддрд╛рд░ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ!" рдХреНрдпрд╛ рдЖрдк ign_user_abort () / register_shutdown_function () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рд╕реНрдерд╛рдпреА рд╕рдВрдмрдВрдз рдмрд╣реБрдд, рдмрд╣реБрдд рдЦрддрд░рдирд╛рдХ рд╣реИрдВ! рддрд╛рд▓рд╛рдмрдВрджреА рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, SQL рд░рд┐рд▓реЗ / pgpoll, рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рддреГрддреАрдп-рдкрдХреНрд╖ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред



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



15. "my.cnf рдореЗрдВ, query_cache_size = 100M рд▓рд┐рдЦреЗрдВред" рд╣рд╛рдБ, рд╣рдо рдбреЙрдХ рдкрдврд╝реЗрдВред рд╡рд┐рд╢реЗрд╖рдХрд░ www.mysqlperformanceblog.com/2007/03/23/beware-large-query_cache-sizes ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, 100M рдореЗрдВ рдПрдХ рдФрд╕рдд рднрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд╛рдорд╛рдиреНрдп рдкрдХрдбрд╝ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЗрд╕реЗ 32-48M рддрдХ рдХрдо рдХрд░рдиреЗ рд╕реЗ рдЕрдВрддрд┐рдо рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



16. "рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд░рдЦреЗрдВ рдЬреЛ рд╕рдВрднрд╡ рд╣реИред" рд╣рд╛рдВ, рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ ttl 1 рд╕реЗрдХрдВрдб рдХреЗ рд╕рд╛рде рд╕рдордп () рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ - 600 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЕрдиреБрд░реЛрдз рдШрдирддреНрд╡ рдХреЗ рд╕рд╛рде, рдПрдХ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред :)



17. "рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ IO рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ - рдореЗрдореЛрд░реА рдмреЗрд╣рддрд░ рд╣реИред" рдЕрдХреНрд╕рд░, рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реАрдорд╛ рдореЗрдореЛрд░реА рд╣реИред рдЬрдм рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ, рдХреЛрдб рдмрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪрд▓рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рд▓рдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рдПрдирдПрдПрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ ~ 2000 рдПрдордмреАрдкреАрдПрд╕ (250 рдПрдордПрдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб) рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕реНрдореГрддрд┐ рдХреЗ рд╕рд╛рде рдЕрддреБрд▓рдиреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕реНрдореГрддрд┐ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЕрднреА рдФрд░ рдпрд╣реАрдВ рдЪрд╛рд╣рд┐рдПред



18. тАЬрдлрд┐рд░ рднреА, php рдореЗрдВ рдХрдИ рдЕрдиреНрдп array_ * рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЖрдо рддреМрд░ рдкрд░ рдХреМрд╢рд▓ рдХреЗ рдмрд┐рдирд╛ foreach рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЫрдБрдЯрд╛рдИред тАЭрдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЙрд░реНрдЯ рдХреА рдЧрддрд┐ рдХреЛ рдУрд╡рд░рдЯреЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ () - PHP рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдлрдВрдХреНрд╢рди! :) рдмрд╕ рд╕реЙрд░реНрдЯ () рдХреНрд╡рд┐рдХреЙрд░реНрдЯреНрд╕ рдХреЛ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рддреЗрдЬреА рд╕реЗ рд╕реЙрд░реНрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдВрдЦреНрдпрд╛, рдпрд╛ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдорд╛рдорд▓реЗ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдореБрдЭреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЬрд╡рд╛рдм рдХреА рдЙрдореНрдореАрдж рд╣реИред

рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! :)

"




All Articles