рд╣рд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╕реНрдерд┐рд░ рд╕рд╛рдордЧреНрд░реА рдХреА рдзреАрдореА рд╡рд╛рдкрд╕реА рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд▓рдЧрднрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реА рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ: рдХрднреА-рдХрднреА рдПрдХ 3 рдХреЗрдмреА рддрд╕реНрд╡реАрд░ рдХреЛ рдРрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕рдХрд╛ рд╡рдЬрди 3 рдПрдордмреА, рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ "рдЫрдбрд╝реА" (рдмрд╣реБрдд рдзреАрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рджреЗрдирд╛) рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк ctrl + reload рджрдмрд╛рдПрдВ - рдФрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред
"рдмреНрд░реЗрдХ" рдХрд╛ рд╕рд╣реА рдХрд╛рд░рдг рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдо рдирд╛рдЬрд╝рд┐рдирдХреНрд╕, рд╣реЛрд╕реНрдЯрд░, "рдХреНрд▓реЙрдЧреНрдб" рдЪреИрдирд▓ рдпрд╛ "рдмреНрд░реЗрдХ" рдпрд╛ "рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА" рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ :)
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдЖрдзреБрдирд┐рдХ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреА рдЕрдкреВрд░реНрдгрддрд╛ рд╣реИ, рдЬреЛ рдЕрднреА рднреА рд╕реНрдкрд┐рдВрдбрд▓ рд░реЛрдЯреЗрд╢рди рдФрд░ рд╣реЗрдб рдкреЛрдЬрд┐рд╢рдирд┐рдВрдЧ рдХреЗ рдореИрдХреЗрдирд┐рдХрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рднрд╛рдЧреАрджрд╛рд░реА рдирд╣реАрдВ рдХреА рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рджреЗрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ nginx рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде SSD рдбреНрд░рд╛рдЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрднрд╡ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
рдХреИрд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рд╣рд╛рд░реНрдб рдмреНрд░реЗрдХ?
рд▓рд┐рдирдХреНрд╕ рдкрд░, рдбрд┐рд╕реНрдХ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЧрддрд┐ рдХреЗ рдореБрджреНрджреЗ рд╕реАрдзреЗ iowait рдкреИрд░рд╛рдореАрдЯрд░ (рд╕реАрдкреАрдпреВ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд╛ рдкреНрд░рддрд┐рд╢рдд I / O рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХрдИ рдХрдорд╛рдВрдб рд╣реИрдВ: рдПрдордкреАрд╕реНрдЯреЗрдЯ , рдЖрдИрдУрд╕реНрдЯрд╛рдЯ , рд╕рд░ ред рдореИрдВ рдЖрдорддреМрд░ рдкрд░ iostat 5 рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ (рдорд╛рдк рдкреНрд░рддреНрдпреЗрдХ 5 рд╕реЗрдХрдВрдб рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред)
рдореИрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд╛рдВрдд рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ 0.5% рддрдХ рдХреА рдФрд╕рдд рдЖрдпреЛрд╡рд╛рдЗрдЯ рд╣реИ ред рдЖрдкрдХреЗ "рд╡рд┐рддрд░рдг" рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ iowait> 10% рд╣реЛрдиреЗ рдкрд░ рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рджреЗрд░реА рди рд╣реЛ ред рдЖрдкрдХрд╛ рд╕рд┐рд╕реНрдЯрдо рд╕реВрдЪрдирд╛ рдкрдврд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд╕рд┐рд░ рд╣рд┐рд▓рд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ "рдмреНрд░реЗрдХ рд▓рдЧрд╛рдирд╛" рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдмрдбрд╝реЗ iowait рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдЧрд░ рдЖрдк рдбрд┐рд╕реНрдХ I / O рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ iowait рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣рд╛рдБ рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рджрд┐рдП рдЧрдП рд╣реИрдВ:
- Access_log рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
- рдлрд╝рд╛рдЗрд▓ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рдкрд╣реБрдВрдЪ рдХреА рддрд╛рд░реАрдЦ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рд▓рд┐рдЦрдиреЗ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ: async, noatime, рдмрд╛рдзрд╛ = 0 ред ('рдмрд╛рдзрд╛ = 0' рдЕрдиреБрдЪрд┐рдд рдЬреЛрдЦрд┐рдо рдЕрдЧрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╣реА рд╡рд┐рднрд╛рдЬрди рдкрд░ рд╣реИ)
- рдЖрдк рдЧрдВрджреЗ vm.dirty_writeback_centisecs рдмрдлрд╝рд░реНрд╕ рдХреЛ /etc/sysctl.conf рдореЗрдВ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордп рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ vm.dirty_writeback_centisecs = 15000 рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ
- рдХреНрдпрд╛ рдЖрдк рдЧрд▓рддреА рд╕реЗ рдПрдХреНрд╕рдкрд╛рдпрд░ рдЕрдзрд┐рдХрддрдо рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдП рд╣реИрдВ?
- рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрддрд┐рд░реЗрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
- рдХреНрд▓рд╛рдЗрдВрдЯ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ: css рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕, рд╕рднреА css - рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╕рднреА js - рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
рдпрд╣ рдереЛрдбрд╝рд╛ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдкрдЧреНрд░реЗрдб рд╣реЛрдиреЗ рддрдХ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рджреЗрдЧрд╛ред рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ, рддреЛ рдЖрдпреЛрд╡рд╛рдЗрдЯ рдЬрд▓реНрдж рд╣реА рдЦреБрдж рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдПрдЧрд╛ред :)
рд▓реЛрд╣рд╛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ
- RAM рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╢рд╛рдпрдж рдЖрдк рд░реИрдо рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рд╕рднреА "рдлреНрд░реА" рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбрд┐рд╕реНрдХ рдХреИрд╢ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦреЗрдЧрд╛ред - рдкреБрд░рд╛рдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд RAID
рдЖрдк рдХрдИ HDDs рд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ RAID рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ RAID рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдХ рдХреА рдЖрдЗрд╕реЛ-рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛, рдмрдбрд╝реА рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ, ...) - рд╕реЙрд▓рд┐рдб-рд╕реНрдЯреЗрдЯ рдбреНрд░рд╛рдЗрд╡: рдХреБрдЫ рдирдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
рдЦреИрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдЕрдкрдЧреНрд░реЗрдб рд╡рд┐рдХрд▓реНрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдПрд╕рдПрд╕рдбреА рдбрд┐рд╕реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдЖрдЬ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рд╣рдо рддреНрд╡рд░рдг рдХреЗ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рд╕реАрдкреАрдпреВ рдЕрдкрдЧреНрд░реЗрдб рд╡рд┐рддрд░рдг рдХреА рдЧрддрд┐ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ "рдзреАрдорд╛" рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ! :)
рдХреНрдпреЛрдВ рдПрд╕рдПрд╕рдбреА
рдбреЗрдврд╝ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЬрдм рдореИрдВрдиреЗ "рдЯреНрдпреВрдирд┐рдВрдЧ рдирдЧреНрдиреЗрдХреНрд╕" рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдерд╛, рддреЛ рдирд┐рдЧрдиреЗрдХреНрд╕ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдПрд╕рдПрд╕рдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛ред рд╕рдВрдпрдорд╢реАрд▓рддрд╛ рдиреЗ рдЗрд╕ рддрдХрдиреАрдХ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рджрд┐рдЦрд╛рдИ , рдПрд╕рдПрд╕рдбреА рдХреЗ рд╕рдордп рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдмреНрд░реЗрдХрд┐рдВрдЧ рдФрд░ рдереЛрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрдирд░реНрд▓реЗрдЦрди рдЪрдХреНрд░реЛрдВ рдХреА рдЖрд╢рдВрдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдереАред
рдЙрд╕ рд▓реЗрдЦ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдХрд┐рдВрдЧреНрд╕реНрдЯрди SNE125-S2 / 64GB рдЗрдВрдЯреЗрд▓ x25e SSD рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ , рдЬреЛ рдЖрдЬ рднреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП "рд╡рд┐рддрд░рдг" рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╕рд╛рд▓ рдХреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рдж, рдХрдИ рдХрдорд┐рдпрд╛рдВ рд╕рд╛рдордиреЗ рдЖрдИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
- рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреА рдЪрд╛рд▓: рдпрджрд┐ SSD рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрддрдо рдкрдврд╝рдиреЗ рдХреА рдЧрддрд┐ 250 рдПрдордмреА / рдПрд╕ рд╣реИ , рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдФрд╕рдд рдкрдврд╝рдиреЗ рдХреА рдЧрддрд┐ рдШреЛрд╖рд┐рдд рдЕрдзрд┐рдХрддрдо рдХреА ~ 75% (~ 190 рдПрдордмреА / рдПрд╕) рд╣реЛрдЧреАред рдореИрдВ рдПрдордПрд▓рд╕реА рдФрд░ рдПрд╕рдПрд▓рд╕реА рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рдорд╣рдВрдЧрд╛ рдФрд░ рд╕рд╕реНрддрд╛ рдерд╛ред
- рдПрдХ SSD рдХреА рдорд╛рддреНрд░рд╛ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╣реЛрдЧреА, рдЗрд╕ рдбреНрд░рд╛рдЗрд╡ рдкрд░ 1MB рдХреА рд▓рд╛рдЧрдд рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рд╣реЛрдЧреА
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо SSDs рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдиреЗ рдкрд░ рдЕрд╕рдорд╛рди рднрд╛рд░ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдЖрдзреБрдирд┐рдХ (рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рдВрдЧрд╛) RAID рдирд┐рдпрдВрддреНрд░рдХ рдПрд╕рдПрд╕рдбреА рдХреЛ рдЙрдирд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВ
- SSD рдЕрднреА рднреА рдорд╣рдВрдЧреА рддрдХрдиреАрдХ рд╣реИ
рдореИрдВ SSD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
- рд╡рд┐рдЬреНрдЮрд╛рдкрди рдореЗрдВ рдЭреВрда рдирд╣реАрдВ рд╣реИ - рддрд▓рд╛рд╢-рд╕реЗ-рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 0. рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ "рд╡рд┐рддрд░рдг" рдореЗрдВ рдЖрдпреЛрд╡рд╛рдЗрдЯ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рд╣рд╛рдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд░реАрд░рд╛рдЗрдЯ рд╕рд╛рдЗрдХрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрди: рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рд╕реНрдорд╛рд░реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдПрд╕рдПрд▓рд╕реА (рд╕рд┐рдВрдЧрд▓-рд▓реЗрд╡рд▓ рд╕реЗрд▓) рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбрд┐рд╕реНрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рдкреБрдирд░реНрдорд┐рд▓рди рдЪрдХреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рд╕рд╛рдзрд╛рд░рдг рдПрдордПрд▓рд╕реА рдПрд╕рдПрд╕рдбреА рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдПрдХ рдЖрджреЗрд╢ рд╣реИ
- рдЖрдзреБрдирд┐рдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЬреИрд╕реЗ btrfs ) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА SSD рдХреЗ рд╕рд╛рде рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ
- рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдХреИрд╢рд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдХреЛ рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреИрд╢ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 100-200G рд╣реИ), рдЬреЛ 1 SSD рдкрд░ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рдПрд╕рдПрдПрд╕ рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ RAID рд╕рд░рдгреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рд╕рд╕реНрддрд╛ рд╣реИ
SSD рдХреИрд╢ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЪрдпрди
рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдХрд┐рдВрдЧреНрд╕реНрдЯрди SNE125-S2 / 64GB рдкрд░ ext4 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЖрдкрдХреЛ рд▓реЙрдЧ рдСрдл рдХрд░рдиреЗ, рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдВрддрд┐рдо рддрд╛рд░реАрдЦ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдорд┐рд▓реЗрдВрдЧреАред рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ - рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЫреЛрдЯреЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде 1-5K 64G SSD рдкрд░, рдЖрдзреЗ рд╕реЗ рдХрдо рдлрд┐рдЯ - ~ 20Gред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реЛрдиреЗ рд▓рдЧрд╛ рдХрд┐ рдореЗрд░реЗ SSD рдХрд╛ рддрд░реНрдХрд╕рдВрдЧрдд рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдореИрдВрдиреЗ рдХрд░реНрдиреЗрд▓ рдХреЛ 2.6.35 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдЕрднреА рднреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ) btrfs, рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИ рдХрд┐ рдмрдврд╝рддреЗ рд╕рдордп ssd рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рд╕реНрдХ рдХреЛ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рдерд╛рдЧрдд рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
mkfs.btrfs /dev/sdb
рдмрдврд╝рддреЗ рд╕рдордп, рдЖрдк рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, JPEG рд╕рдВрдкреАрдбрд╝рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, btrfs рд╕реНрдорд╛рд░реНрдЯ рд╣реИ, рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрдЧрд╛)ред Fstab рдореЗрдВ рдореЗрд░реА рдорд╛рдЙрдВрдЯ рд▓рд╛рдЗрди рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рд╕рднреА рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ):
UUID = 7db90cb2-8a57-42e3-86bc-013cc0bcb30e / var / www / ssd btrfs рдбрд┐рд╡рд╛рдЗрд╕ = / dev / sdb, рдбрд┐рд╡рд╛рдЗрд╕ = / dev / sdc, рдбрд┐рд╡рд╛рдЗрд╕ = / dev / sdd, noatime, ssd, nobarrier, рдПрдирд╕реНрдЯреНрд░рд┐рдпрд░ред , noacl, notreelog 1 2
рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрд╡рд░реВрдкрд┐рдд рдбрд┐рд╕реНрдХ рдХреЗ рдпреВрдпреВрдЖрдИрдбреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ
blkid /dev/sdb
рдирддреАрдЬрддрди, 41 рдЬреА рд╕реЗ рдЕрдзрд┐рдХ рдбрд┐рд╕реНрдХ рдкрд░ "рдЪрдврд╝ рдЧрдП" (ext4 рдкрд░ 2 рдЧреБрдирд╛ рдЕрдзрд┐рдХ)ред рдЙрд╕реА рд╕рдордп, рд╡рд┐рддрд░рдг рдХреА рдЧрддрд┐ рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реБрдЖ (рдХреНрдпреЛрдВрдХрд┐ рдЗрдУрд╡рд╛рдЗрдЯ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рд╣реБрдИ)ред
рд╣рдо SSD рд╕реЗ RAID рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ
рд╡рд╣ рдХреНрд╖рдг рдЖрдпрд╛ рдЬрдм 64 рдЬреА рдПрд╕рдПрд╕рдбреА рдЫреЛрдЯрд╛ рд╣реЛ рдЧрдпрд╛, рдореИрдВ рдХрдИ рдПрд╕рдПрд╕рдбреА рдХреЛ рдПрдХ рдмрдбрд╝реЗ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рд╕рд╛рде рд╣реА рдореИрдВ рди рдХреЗрд╡рд▓ рдорд╣рдВрдЧреЗ рдПрд╕рдПрд▓рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдПрдордПрд▓рд╕реА рдПрд╕рдПрд╕рдбреА рднреАред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
Btrfs рдбрд┐рд╕реНрдХ рдкрд░ 3 рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ: рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдкрддреЗ (рдбрд┐рд╕реНрдХ рдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рд╣рдореЗрд╢рд╛ 2 рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ) рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдбреЗрдЯрд╛ рд╕реНрд╡рдпрдВ (рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА)ред рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рдорд╛рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ "рд╕рдВрдкреАрдбрд╝рд┐рдд" рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдПрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдХрд╛ ~ 30% рд╣реИред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдмрд╕реЗ рдЧрд╣рди рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдмреНрд▓реЙрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдлрд╛рдЗрд▓, рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдлрд░, рдПрдХреНрд╕реЗрд╕ рд░рд╛рдЗрдЯреНрд╕ рдХрд╛ рдмрджрд▓рд╛рд╡ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рдЬрд╣рд╛рдБ рдбреЗрдЯрд╛ рдХреЛ рдХреЗрд╡рд▓ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдо рдмрд╛рд░ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдо btrfs рдХреА рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдЖрддреЗ рд╣реИрдВ: рдпрд╣ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ RAID-рд╕рд░рдгрд┐рдпрд╛рдБ рдмрдирд╛рдирд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
mkfs.btrfs -m single /dev/sdc -d raid0 /dev/sdb /dev/sdd
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореЗрдЯрд╛рдбреЗрдЯрд╛ / dev / sdc рдФрд░ / dev / sdb рдФрд░ / dev / sdd рдкрд░ рдбреЗрдЯрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдЫреАрди рдЫрд╛рдкреЗ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдореМрдЬреВрджрд╛ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрдзрд┐рдХ рдбрд┐рд╕реНрдХ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдмреИрд▓реЗрдВрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред
UUID btrfs RAID рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рди рдХрд░реЗрдВ:
btrfs device scan
рдзреНрдпрд╛рди рджреЗрдВ: btrfs- рд░рд╛рдЗрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд: рдкреНрд░рддреНрдпреЗрдХ рдЖрд░рдУ рд╕рд░рдгреА рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ btrfs рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛: btrfs рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдХреИрди ред Fstab рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдк рдорд╛рдЙрдВрдЯ рд▓рд╛рдЗрди рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ 'btrfs рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдХреИрди' рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
/dev/sdb /mnt btrfs device=/dev/sdb,device=/dev/sdc,device=/dev/sdd,device=/dev/sde
рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдмрд┐рдирд╛ nginx рдкрд░ рдХреИрд╢рд┐рдВрдЧ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рднрдВрдбрд╛рд░рдг рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп "рдзреАрдореА" рдПрд╕рдПрдЯреАрдП рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╣реИрдВ рдЬреЛ рд╕рд╛рдЭрд╛ рдкрд╣реБрдВрдЪ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рднрд╛рд░ рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред
рд╕рд╛рдЗрдЯ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ "рд╡рд┐рддрд░рдг" рд╕рд░реНрд╡рд░ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдп рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рд╕реЗ рд▓реЛрдб рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдмрд╛рдз "рд╡рд┐рддрд░рдг" рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИред
рд╡рд┐рддрд░рдг рд╕рд░реНрд╡рд░ рдкрд░ рдмреЛрд░реНрдб рдкрд░ btrfs рдХреЗ рд╕рд╛рде рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ SSDs рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╕реАрдзреЗ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░реЙрдХреНрд╕реА_cache рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:
- рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд░рдВрдн nginx рдкрд░ рдкреНрд░реЙрдХреНрд╕реА_ рдХреИрд╢ рдХреИрд╢ рдХреА рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдХрдИ рд╕реМ рд╣рдЬрд╝рд╛рд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╢ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ nginx рдХрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдбрд┐рд╕реНрдХ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЕрдиреБрдЪрд┐рдд рдЦрд░реНрдЪ рд╣реИ
- рдкреНрд░реЙрдХреНрд╕реА_ рдХреИрд╢ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЛ "рд╕рд╛рдлрд╝" рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ рдХреИрд╢ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ
- рд╕реАрдкреАрдпреВ рдХреА рдЦрдкрдд рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЙрдкрд░рд┐рд╡реНрдпрдп рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдЯрд░реНрди рдкрд░, рдПрдордбреА 5 рд╣реИрд╢рд┐рдВрдЧ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА_рдХрдЪреЗ_рдХреА рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд╛рдЗрди рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА_ рдХреИрд╢ рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╢ рдХреЛ рдкреБрдирд░реНрд▓реЗрдЦрди рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХрдо рд╕реЗ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдЪрдХреНрд░ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреИрд╢ рд╕реЗ "рдХреНрд░реИрд╢" рдХрд░рддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдпрджрд┐ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреИрд╢ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╣рдо рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрдВрдЧреЗред рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣рд┐рд▓реНрд▓реЛрдж рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдЖрдпрд╛ред рдХреИрд╢ рд╕реЗрдХреНрд╢рди 2 рдореЗрдВ cache0 рдФрд░ cache1 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВред рд╕рднреА рдкреНрд░реЙрдХреНрд╕реА рдлрд╛рдЗрд▓реЗрдВ рдХреИрд╢ 0 (рдкреНрд░реЙрдХреНрд╕реА_рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдореЗрдВ рдмрдЪрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред nginx рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдлрд╝рд╛рдЗрд▓ рджреЗрдВ) рдкрд╣рд▓реЗ cache0 рдореЗрдВ рдФрд░ рдлрд┐рд░ cache1 рдореЗрдВред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣рдг рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдПрдБ, рдлрд┐рд░ рдЗрд╕реЗ cache0 рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
рдХреБрдЫ рд╕рдордп (рд╕рдкреНрддрд╛рд╣ / рдорд╛рд╣ / рддрд┐рдорд╛рд╣реА) рдХреЗ рдмрд╛рдж, cache1 рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, cache0 рдХреЛ cache1 рдореЗрдВ рдмрджрд▓ рджреЗрдВ рдФрд░ рдПрдХ рдЦрд╛рд▓реА cache0 рдмрдирд╛рдПрдВред рд╣рдо рдХреИрд╢ 1 рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рд▓реЙрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдХреИрд╢ 0 рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдпрд╣ рд╡рд┐рдзрд┐ SSD рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрдо рдХрд░ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдХрдо рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХрдИ рдПрд╕рдПрд╕рдбреА рд╕реЗ рдПрдХ рдЫрд╛рдкреЗ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 1 рдирд┐рдпрдорд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдПрдордПрд▓рд╕реА рдПрд╕рдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд▓рд╕реА рд╣реЛрдЧрд╛ред (рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреБрд▓ рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рд▓рдЧрднрдЧ 30% рд╣реИ) ред рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╕рдордп, рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛!
Nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрджрд╛рд╣рд░рдг
log_format cache0 '$request'; # ... server { expires max; location / { root /var/www/ssd/cache0/ ; try_files $uri @cache1; access_log off; } location @cache1 { root /var/www/ssd/cache1; try_files $uri @storage; access_log /var/www/log_nginx/img_access.log cache0; } location @storage { proxy_pass http://10.1.1.1:8080/$request_uri; proxy_store on; proxy_store_access user:rw group:rw all:r; proxy_temp_path /var/www/img_temp/; # SSD! root /var/www/ssd/cache0/; access_log off; } # ...
Cache0 рдФрд░ cache1 рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдореИрдВрдиреЗ рдмреИрд╢ рдкрд░ рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рд░реЛрдЯреЗрд╢рди рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдкрдХреЗ рдХреИрд╢ рдХрд╛ рдЖрдХрд╛рд░ рд╕реИрдХрдбрд╝реЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреИрд╢ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рд▓рд╛рдЦреЛрдВ рдореЗрдВ рд╣реИ, рддреЛ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХрдИ рдмрд╛рд░ рд░реЛрдЯреЗрд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж ria_ssd_cache_mover.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ:
for i in `seq 1 10`; do ria_ssd_cache_mover.sh; done;
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред рдЙрд╕рдиреЗ рд▓рдЧрднрдЧ рдПрдХ рджрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдЕрдЧрд▓реЗ рдкрд░ рджрд┐рди, рд╣рд░ рдШрдВрдЯреЗ рдХреНрд░реЛрди рдкрд░ ria_ssd_cache_mover.sh рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг рд╕реЗрдЯ рдХрд░реЗрдВред
рдбреЙрд╕ рднрдВрдбрд╛рд░рдг рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдВрд░рдХреНрд╖рдг
рдпрджрд┐ рд╕рдВрдЧреНрд░рд╣рдг рд╕рд░реНрд╡рд░ рдХрдордЬреЛрд░ рд╣реИ, рдФрд░ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЧрд▓рд╛ рдШреЛрдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде Secure_link рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
- Btrfs рдкрд░ рд╕рдмрд╕реЗ рдкреВрд░реНрдг рдкреНрд░рд▓реЗрдЦрди (рд╕рдВрд▓рдЧреНрди)
- рд░реВрд╕реА рдореЗрдВ btrfs рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
- рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рд╛рдЗрд░рд┐рд▓ рдореЛрдХреЗрд╡рд┐рди рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИ "рднрдВрдбрд╛рд░рдг, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕реНрдереИрддрд┐рдХ рдХреА рд╡рд╛рдкрд╕реА"
UPD1: рдлрд┐рд░ рднреА, рдореИрдВ рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓> = 2.6.37 рдФрд░ рдкреБрд░рд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореЗрдЯрд╛рдбрд╛рдЯрд╛ рдХреЗ рд╕рд╛рде рдПрд╕рдПрд╕рдбреА рдкрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдХрд╛рд░рдг 2.6.35 рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рдХреИрд╢ рдХреНрд░реИрд╢ рд╣реБрдЖ рдерд╛ред рдирддреАрдЬрддрди, рд╡рд┐рджреЗрд╢реА рдХрдИ SSDs рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ btrfs рдЫрд╛рдкреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдЧрд╛ред :(