рдПрдХ рд▓реЗрдЦ рдПрдХ рдиреЛрдЯ рд╣реИ рдЬреЛ
рдкреНрд░рд╢реНрдиреЛрддреНрддрд░ рдореЗрдВ рдкреВрдЫреЗ рдЧрдП рдПрдХ
рдкреНрд░рд╢реНрди рд╕реЗ рдмрдврд╝рд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рдерд╛ ... рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ PostgreSQL рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд╛рдорд╛рдиреНрдп рдерд╛ рдФрд░ рдХреНрдпрд╛ рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рд╢реНрди рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рджреМрд░рд╛рди, рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ рдФрд░ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд░рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпрд╛ рд╣реБрдЖ рдФрд░ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рд╣реБрдЖ:
рдирд┐рдореНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдПрдХ рдФрд╕рдд рд╕рд░реНрд╡рд░ рд╣реИ:
- HP Proliant DL160 G5
- 1x рдЗрдВрдЯреЗрд▓ рдПрдХреНрд╕реЙрди рд╕реАрдкреАрдпреВ E5405 @ 2.00GHz (L1 128KiB, L2 12MiB)
- 4x рдПрдлрдмреА-рдбреАрдЖрдИрдПрдордПрдо рдбреАрдбреАрдЖрд░ 2 рд╕рд┐рдВрдХреНрд░реЛрдирд╕ 667 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ (1.5 рдПрдирдПрд╕) рдХреБрд▓ 8 рдЬреАрдмреА рд░реИрдо
- RAID LSI SAS1064E 4-рдкреЛрд░реНрдЯ PCI-E 3Gb / s
- 4x SAS рдПрдЪрдкреА DF146BABUE 146GB 3.5 "LFF 3G 15K RPM
- Gentoo рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓-3.7.1, рдЧреНрд▓рд┐рдмреИрдХ-2.15-r3, gcc-4.5.4
- PostgreSQL рд╕рд░реНрд╡рд░ 9.2.1
рдЪрд╛рд░ рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕реЗ, рджреЛ RAID1 рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рджреВрд╕рд░рд╛ рд╡реЙрд▓реНрдпреВрдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЧреНрд░рд╛рдЙрдВрдб рд╣реИред рдЗрд╕ рдбрд┐рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ LVM PV рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП 55GB LVM рд╡реЙрд▓реНрдпреВрдо рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ;
- Postgresql рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдкреНрд░рд╛рд░рдВрдн рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ;
- рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ postgresql.conf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ;
- Postgresql рдЪрд▓рд╛рдПрдВ рдФрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ pgbench;
- pgbench рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд▓рд┐рдХрд╛ рдЖрд░рдВрднреАрдХрд░рдг рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ;
- рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ "рдХреЗрд╡рд▓ рдЪрдпрди рдХрд░реЗрдВ" рдореЛрдб рдореЗрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде pgbench рдЪрд▓рд╛рдПрдВ, рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬреЗрдВ (рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг 2 рдШрдВрдЯреЗ рддрдХ рд░рд╣рддрд╛ рд╣реИ)
- рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде " TPC-B " рдореЛрдб рдореЗрдВ рд╕рд╛рдЗрдХреНрд▓реАрдХ рд░реВрдк рд╕реЗ pgbench рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рд╣рдо рдкрд░рд┐рдгрд╛рдо рдмрдЪрд╛рддреЗ рд╣реИрдВ (рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг 2 рдШрдВрдЯреЗ рддрдХ рд░рд╣рддрд╛ рд╣реИ)ред
рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 8 рд╕реЗ 96 (8,16,32,64,96) рддрдХ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╣рдореЗрдВ 10 рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ (5 рдЪрдпрди рдХреЗрд╡рд▓, 5 рдЯреАрдкреАрд╕реА-рдмреА)
рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдЬреЛ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ:
- RAID WriteCache рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ;
- PostgreSQL рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ / рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ / рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рд▓рдЧрднрдЧ рдЦрд╛рд▓реА рд╣реИ (katos рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде);
- рд╡рд╛рд▓ рд▓реЙрдЧ рдбреЗрдЯрд╛ рдХреЗ рд╕рдорд╛рди рд╡рд┐рднрд╛рдЬрди рдкрд░ рд░рд╣рддреЗ рд╣реИрдВ;
- рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдкреВрд░реЗ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреЗ 80% рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
- рдЬрд┐рддрдиреА рдмрд╛рд░ pgbench рд╢реБрд░реВ рд╣реБрдИ, рдПрдХ рдХреИрд╢ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
Postgresql.conf рд╕реЗрдЯрд┐рдВрдЧреНрд╕
max_connections = 100
share_buffers = 1500MB
рд╡рд░реНрдХ_рдо = 16 рдПрдордмреА
рдореЗрдиреНрдЯреЗрдиреЗрдВрд╕_рд╡рд░реНрдХ_рдореЗрдо = 128 рдПрдордмреА
рдкреНрд░рднрд╛рд╡реА_io_concurrency = 1
рдЪреЗрдХрдкреЙрдЗрдВрдЯ_рд╕реЗрдХреНрд╢рди = 32
checkpoint_timeout = 10min
checkpoint_completion_target = 0.9
рдЪрдпрди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреЗрд╡рд▓ рдФрд░ рдЯреАрдкреАрд╕реА-рдмреА
рдирд┐рд╖реНрдХрд░реНрд╖: рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдФрд░ рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рдЕрдВрддрд░рд╛рд▓ рдирд╣реАрдВ рд╣реИрдВ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рднреА рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╕реНрддрд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ext4, ext3 (1-3% рдХреА рдФрд╕рдд) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рджрд┐рдЦрд╛рддрд╛ рд╣реИ;
- ext4 рдЯреАрдкреАрд╕реА-рдмреА рдкрд░реАрдХреНрд╖рдг (1% рд╕реЗ 8% рддрдХ) рдореЗрдВ рдЙрдЪреНрдЪрддрдо рдкреНрд░рджрд░реНрд╢рди рджрд┐рдЦрд╛рддрд╛ рд╣реИ;
- xfs рд╕реЗрд▓реЗрдХреНрдЯ рдХреЗ рдПрдХрдорд╛рддреНрд░ (1% рд╕реЗ 3% рддрдХ) рдореЗрдВ рдЙрдЪреНрдЪрддрдо рдкреНрд░рджрд░реНрд╢рди рджрд┐рдЦрд╛рддрд╛ рд╣реИ;
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, "рдЖрдк рдХреЛрдИ рднреА рдПрдлрдПрд╕ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрддрд░ рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЙрдкреЗрдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред" рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ (рдпрд╣рд╛рдВ рдЖрдк рдЯреНрд░рд┐рдлрд╝рд▓реНрд╕ рдХреЗ рдорд╣рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рднреА рдкреИрдереЛрд╕ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВ))
рд╡рд╣ рд╕рдм рд╣реИред рдЖрдк
рдкреВрдк рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ
, рдЖрд▓реЛрдЪрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ ...
рдкреАрдПрд╕ рдПрдВрдбреНрд░реА рдлреЗрдлреЗрд▓реЛрд╡, рд╣реИрд▓реЛ !!! )))