ααααα·α αΆαα·ααααααΆαααΆαααααααΆα 2015 ααα Ilya Kosmodemyansky "ααΆααααααααΌαααΈαα»α ααΎααααΈαααααα’ααΆαα’αα»αααα PostgreSQL"
ααΆαααα·αααα αααα»αααααααααΆααααΆαααΆαααΆααααααα α»αααΆαααα·α αααααααα·α ααα·ααΆ ααααΆα 2015 - ααΆα 4 ααααΆαααΆαααααααα»ααα α αΎααααααααΆααΆα αααΎαααΆαααααααα»ααα α αααα 9.4 αααβααΆαβαα·ααΆααααΆβαααα»αβαααΆαααΆαααβααΊβαα·αβααααΌαβααΆαβααΆααααβαααβααβα αααα»ααααααα 4 ααααΆααααααααααα PostgreSQL ααααΈα ααα½α 5 ααααΌαααΆαα ααααααΆα α αΎα 15 ααααααααΊαααααΈαα»α ααααΌαααΆαα ααααααΆαα ααααα·αααΎα’ααααααααα’αααααααΆαααααα‘αΎααα·α α’αααααΉααααα ααααααααΆαααΆααααααααα ααα»αααααα ααΈαααααΎααα·α αΆαααΆααΆααααααααΌαααΈαα»α ααΆααΌαααααΆααααααΆαα PostgreSQL ααααα ααααΆααααααααααααααααααα
ααααααααααααα»αααΊ Ilya Kosmodemyansky α αααα»αααααΎααΆααα PostgreSQL-Consulting α α αΎαα₯α‘αΌαααααααα»αααΉααα·ααΆαααααα·α α’αααΈα’αααΈαααααααΌαααααΎααΆαα½αααΈαα»α ααΆααααααΉαααΌαααααΆααα·ααααααααΆααΌαα αα·α PostgreSQL ααΆαα·αααααΈααααααααααΆαααααΊααααααααααΆα
ααΎααΎαααΉααα·ααΆαα’αααΈα’αααΈ? ααααα·αααΎα’αααααααΆαααααααΆααααααΆαα½α PostgreSQL αααααΆαααααααα»αααααα·ααααα α’αααααααΌαααααΆαααΆα’αααααααααααα UNIX α ααΎβααΆβααΆααααβαααΆαβααΌα ααααα ? ααααα·αααΎααΎααααααααα Oracle αα·α PostgreSQL ααααα αααα»α Oracle α’αααααααΌαααΆα 80% DBA database admin αα·α 20% Linux admin α
ααΆαα½αααΉα PostgreSQL ααΆααΆαααΆααααα»αααααΆαααααα·α α ααΆαα½αααΉα PostgreSQL α’αααααααΌαααΆαααΆααααααΉαααΆααααα αααΆααα’αααΈαααααααααΈαα»α ααααΎαααΆαα α αΎααααα»ααααααΆαα½αααααΆααα αααααααα·α αααααΆααααΈααααΆαααααααΎα αααααααααΈααααα’αααΈαααααΌαααΆαα’αΆααααααααΆαααα’αΆαα α αΎαααΊαααααααΈααααΌαααΆααααα αα α αΎααα»αααΆαααααΈααα α‘αΎα ααααΎαααΆααααααΎαα‘αΎαααα
α ααα»α’αααΈααΆαααΆααΎααα·ααΆαα’αααΈααΈαα»α ? αα·αααααααααΆαααααΎααα α―ααααα·ααΈαααΈαα»α αααααα»ααα ααα»αααααααααΆααααα αααα»αααααααααααααΎαααααααααααααααα·ααααα·ααΆαααααααΉαααααΌααααα»ααα½ααααααΆααααΆαααααΎααααΆααααΌαααααΆααα·ααααααααΆααΌαα αα·α PostgreSQL ααΆαα·αααααΊααΈαα»α α αααααΆααα FreeBSD ααΆα’αα»αααααα»αα’αα·αααααααα»ααα·ααα α αααααααΆααα α αΎαααΉαααΆααααα αΆααΆααααΆααααααα αα·αααΆαα½αααΏαααΆα αααΎααααα ααΆαα’αα»αααααααα PostgreSQL αα ααΎ Windows ααΆααΌαα ααΊααΆαααα αΆαααααααααααΆα ααααα‘αααα½α αααααα’ααααΎααΆααα·ααααααΆ Windows αα·αααΆαα’αααα αα αΆααααααΆαα αααααααααΌα ααααΆαα ααΉα UNIX ααααααααα PostgreSQL ααααΌαααΆαα αααααΆααααΆαα½αααΉααααα αΆααα αααααααΆααΆαααααααααα α»ααααΎαααΆαα
α αΎααααα»ααα·αααΆα’ααααααααααααΆαα·αααΌαα αΆααα’αΆααααααααΉααααααα·αα’αααααααΌα Solaris ααΌα ααααααααα α
ααΆαα ααα αΆαααΈαα»α ααααΎαααΆααααααΎα syctl ααΆα 1 α’αΆαααααααΎαααααααα’ααααααααΎαααΊαααα αααα»ααααααΆαα½αααααΆααα ααααα·αααΎααΎααααα‘ααααΎαααααΆαααααααααααΆ ααΎαα’αΆα ααααααα½αα’αααΈαα½αααΆααα·ααΈααΆα αααΎαα ααΆααααΆαααΆααααααααααααααα―αααΆαα’αααΈαααααααααα½αααΆα ααααα·αααΎα’αααααΆααααα½αα’αααΈααααα αΆααααααΎαααΆ: α’αααΈαααααααΌαααΎααα αααα»α BIOS ααααααααααααααααΉαααα
αααααΊααΆααα·ααΆαααα αααΎααααα’αΆα ααααΌαααΆααα·ααΆααααΆαααα»αααααααααΆα αααΎααααα α αΎααα·αααααα αααα»ααααΆαααΆαααααααΈαα½αααααα ααα»ααααα₯α‘αΌαααααααα»αααΉααααααααΎααΏαααααΆααα αααααααααΆαααΆααα»ααα½α αααααααΌαααΆαααΆααΆααΎααααΈααΆαααΆαα’αααααΈααΆαααααΎααααΆααααΌαααααΆααα·ααααααααααα’αααααΆααααΆαααα’αα ααΎααΈαα»α ααααα·αααΎα’ααα αα»ααααα½αααα α αΎααααα»ααααααΆαα½αααααΆααα α ααα»α ααααΆαααα½αααΊααΆ αααΆαααΆααααααααααΆαααΎαααΆα αααΎααα·αααααΌαααΆααα½ααααα αΌααα αααα»αααΆαααααααααααααΉαααααΌααααααΆααααΌαααααΆααα·αααααααααααα αααααΊααΆαααααΆαααΎα ααΆααΉαααααΎαααΆααα·αααα’ α¬α’ααααΆαααααααα
ααΎβαααβαα βααβααααα½αβαααβαααααααΈβα’αααΈβααααβαα βαααα»αβααΈαα»α ? αααα»ααα·αααΆα αΆααααΆααααΈα’αααααΆααα’αααααα»ααααααααΆαααΆαα½αααΆααααααααααααΈαα»α ααΆαα·αα αΆαααΆα αααααααααΈα’αααΈαααααΆααααα αααααα
α’αααα’αΆα αααααααΌαα
- αααΈααΈααΌα
- ααΆαα αα αΆαα
- α§ααααααααα»αα
- ααααααααα ααΎαααΉααα·ααΆαα’αααΈααΏαααααα α α»ααααα αααααααΆααα’αΆα αΆαααααααα ααΌααααΈααα§ααΆα ααα αααΆαααΆααααααααΌα ααΆαααααΆααααααααααα αααΆαααα’αΆα αααααΆαααααααααΎαααΆααααα»αααααααααααα·αα’αΆα ααΆααα»αααΆαα»αααΆα αα·ααα·ααααααΆαα·ααΈααΈαααΆααααα»ααααααα
ααΎα’αααΈααΆαααααααα·ααααααα PostgreSQL αα·αααΌαααααΆααα·ααααααααΆααΌαα ? αααα αΆααΊααΆ α’ααααα·αα’αΆα ααααααααααΆααααΈαα½αα α αΎαααΎαααΆααααΎαααΆαααααααΎαααΆαααΆααααααΎαα‘αΎααα½αα±ααααααααααΆααα
ααΆα ααΆαα§ααααααααααα ααα»ααααααΌαααααΆααα·ααααααααΊααΆααΏααααα»αααααΆαα ααΆααααΎα’ααααααααααΆαα½αααααΆαααΆααα’ααααααααΆαααΈαααααΆα α αΎαα αΌαα α·αααααααΎα’ααααααααα±ααααΆααααααααααα»αα ααααα·αααΎα’ααααααα‘ααααΎαααΆαααααΆααα αα α»αααααααααα Oracle α’αααΈααααααααΎααααααααααααα·ααααα·ααΆααααΆαααΈα ααΆααΉαααΌα ααΆααΏααααααααα’αααΈα’αααΆαααΆαα·αααα»αα αααααΈααα - α α·ααα αΉααααα α αΎααα·ααααα’αααΈααΆααα’ααα α αΌααααααα±ααααΌαααααΆααα·ααααααααΌαααααΆαααΆααα’αα ααΌαααααΆααα·αααααααααα½αα―αααΉαααααααα’αααΈαααΆααα’ααα ααα
ααΆαααααΆααα αααα»αααααα·ααααα ααααΆαααΆαααΊααΌα ααααΆαα ααΉα PostgreSQL α ααΆααα»ααααααααααΆαααααΊααΆ ααΌαααααΆααα·αααααααα·αααΆααα’αΆα ααααααΆαααΆααα’αααααααΆαααααα½αααΆαα α‘αΎα αααααΊαα ααααααααΆαα½ααα ααααα·αααΈαα»α α’αααααααΌαααααααααΆα ααααααααα½αα―αα
αααα·αα ααααααΊαα·αααααΌαααααΎαααΎαααααα αααα½α α αΎαα αΆααααααΎααααααααΌαααΆ α§ααΆα ααα α’αααα αα αΆα αααΈααΈααΌ α¬α’αααΈαα½αααΌα ααα ααα»ααααααΎααααΈαα·ααΆαααααα»αααΆαααΆα αα·αααααΆααΆααααααα’ααα αΌαα±ααααΆαα αααΎαααΆαααα’αΆα ααααΎαα ααΆαααΎααααΈα±ααααααα»ααααα’αααααααααααααα·ααΈααα’ααΆααααααΎαααΆα‘αΎαα αααααΆαααα½αααΎα αα½αααΆααα’αααααααΎααααΆααααααααΎαα
αααααΆααΌαααΆαααΎααααΈααααααααΆααΆααΆα’αααΈα ααΆαααα·ααααααα’αΆαααα Linux OS α αΎαααΆαα’αααα αα αΆαα ααααααα α αΎαααΆαααα·ααααααα’αΆαααα PostgreSQL α αααααααα PostgreSQL αα·αααΌα Oracle ααααΎαααΆααααααααΆααααααΆαααα kernel buffer αααααΊ ααΎααααΈα±ααααααααα½αααΈ disk α αΌααα αααα»α memory αα½αααααααΆ ααΆααααΌαααααααααΆαα kernel buffer αα·α back ααααΆαααΆαααΌα ααααΆα
ααΆαααααα ααααααααααααααααα αααα»αααΆαααΌαααΆααΆααΆαα ααΆαααΆααα·αα’αΆα ααΆαα§ααααααααααΆ RAID ααα
α αΎαααΆααααα αΌα-αα·ααααααααααΆααααααααΆααα½α α¬αα½αααααααααααΎαα‘αΎαααΆαααααααα αΆαααα
PostgreSQL ααΊααΆααΌαααααΆααα·αααααααα»ααΆαα ααΆαααααααα½ααα ααΆααααα»αα α αΎαααΆααααα αΌα αα·αααααααααΆααα’ααααΎαα‘αΎααααααααΎαααααα ααΎααααα»ααααααΎααααα»ααα αααα»αααΆαα αα αΆαααΆαα½ααααααα α αΎαααααα·αααΎααααΆαα’αααΈααΎαα‘αΎααα ααΎαααααΆααααα’αΆααα½αααΆ αααααΆαααααα½αααΆααΆααααααα·α αααααααΈααααΆαααααααΆααααα ααΈααα·ααααααα’αΆαααααααααΆαα ααααααα α αΎααααα αααα ααΎααΆααα·αα
ααααα·αααΎααΎααααα½αα’αααΈαα½ααα ααααααααΆαα½α ααααααααααΆααααΌαααααΌαααΆααααααΆααααΆααααααα αααα»αααΆααααααΆαααα½αααΆαα ααΈαααααΆααααααα α αΎααααααΆααααααΆααααααααααααΌαααααααΎααααΆαααααααΆαα½αααΆααααα»ααααα»αα αααβααΊβαα βαααβαααβααΎαβααααΎβα²ααβααΆβαααααα ααΎαβααΆαβα αΌαβαααα»α WALα α αΎααα αααααααΆααα’ααα αΆααααα½α ααΆαα»ααΌααα½αα α ααΆ ααα»αααα·ααααα½ααα·αα·αααααΆααααααα α αΎαααααααΆαααααΌαααΆααααααααΆαα αααα»ααααααα ααα»ααααααααΆααααΆααααααα α αΎααααααΆααααααΆαααααααααααααΆααα’αααααααΆααα ααΈααααα αααααααα αααα»αααα·ααααααα’αΆαααααααααΆαα αααααααααΆαααααααααΌαααΆαααααΎααααΆαααααααΆαα½αααΆααααα»ααααααααΎ fsync ααΆααααααα·ααααααα’αΆααααααΊαααα
α ααα»α’αααΈααΆαααΆαααααααΌαααΆαααααΎ? ααααα·αααΎααΎαααΆαααααααα»ααααααΎααα·αααα½αααΆαααααΆαααΆαααααα·ααααααααΆααα’ααααααΌαααΆαααΆααααααααααα ααΆαα αα αΆαααΆααααΆαα αααααα»ααααααααααααΆααΆαααααΆααααΎαα’αααΈ αα αΌαααααααααααααα αααα»αααααΉααααΈααΌαααααΆααα·αααααα - αααααΊααΆα’ααΆααααααααΊααααΆα αααααΆααΆααα·αααΆαα ααΎααα·ααα α αΎαααΎαα αΌαα α·αααααΆ ααα»αααααααααΆαααααααα αα½αααααααα αααα»ααααααααα 20 ααααΆαα α αΎαααΆααΆααα·αααΆαα ααΆααα’αααααααααΌααααααα½ααα·αα·αααα
α αΎαβααΆααα·α αα βααβααΆαβαααααΎαβαα·αααααβα’αα·ααααΆβααΊβααααΌαβααααα½αβαα βαααααβααααΆααααΆαβααΆααβα’ααβααα ααΎααααΈβα±ααβααΆβαα·αβαα βαα»αβαααΆαβααΏαα α’αααα αα αΆααααααΆαα αααααααααΊααΆααααΆαααααααΆαααααααα αα αααα»α PostgreSQL ααΎαααΆαααααΎαααα½αααααΎαααΎα α¬α’αααΈαα½α ααΆααΆαααΆααααα·αααααααααααΈααΆαα αα½αααααΆααααα αααα αααα»α buffers α αααααααα ααΌα ααααα αΎαααΎααααΈα±ααααααΎαααΆααααααΆαααααααααΎαα‘αΎαααααΌαααααΆαααΆαα αα αΆαα αααΎαα
ααΎααααΈα±ααα’αααΈαααΆααα’αααααααααΎαααΆαααΆαααα’ αα·αααΆαααα αα α’αααααααΌαααααααα ααΆααααααααααααααααααααα·ααααα·ααΆαα±ααααΆαααααΉαααααΌααα αααααααααΆααααΆαααΆααα’ααα α αΎαααααΎαααΎααααααααΉααααααΆααα»αααααΆα αααααααααα·αααΎα’αααααΆαα’αα»αααααΆααα ααααααααΆαα½α αααα’αααα’αΆα αααααΎαα’αααα αα αΆαααΆαα αααΎα ααα»ααααααΆααΉααα·αααααΌαααΆααααααααααΆαααα»αααααΏααααααααααΆαααααααα
α αΎαααΌαααααααΆααα ααα»α ααΈαα½ααααΆαααααα
ααΎααααΈααααΎα±αααααααααΆαααααααααΎααααΎααα ααααΆαααΏαααΆααα»α α’αααααααΌααααααα ααΆαααΌα ααΆααααααα
- ααΆααααΌα α’αααααααΌαααααΎααΆαα±ααααΆααααααΆαααααα·αααααΆαααΆαα½αααΉαα’αααα αα αΆαα
- ααΈααΈα ααΆαααααΆααααααΌαααααα αααααααααααααΈα’αααα αα αΆααα ααΆααααΆααα½αααααΆαααααα·αααααΆαααΆαα
- α αΎαααΈααΈααααΌαααααΆαααΆαααα’α
ααααα·αααΎα’αααααΆα RAM ααα α 512 GB αα αααα»ααααΆαααΈααα α αΎαα’αααΈαααΆααα’ααααΉααααα αααα ααΎααααΆαααααΉα SATA αααααααΆαααααΆαααααααΆααααΆαα½α ααααααΆαααΈαααααΌαααααΆααα·ααααααααΆααααΌααααααα ααΆαα·αααααΉααααααα ααα»ααααααα ααα»αααααααα αααααΆαα ααα»α αααααΆαα SATA α α’αααααΉααααα αΌααα αααα»αααΆαααααααΆααα α αΎαααααΆαα’αααΈααΉααα½αααααααααα’αααααΆαααα
ααΆααααβααΉαβα ααα»α βααΈαα½αβαααβααΆαβααΆαβα αα αΆαβααΆαβα ααα»α βααΈβαααβα’αΆα βααααΎβα²ααβααΈαα·αβαα½αβααΆαβααααΆαβααααΆααα
ααΈαα½ααααα»αα αααααα½αααααΊ NUMA α NUMA ααΊααΆααααααααααααΎαα‘αΎαααΎααααΈαααααα’ααααΎαααΆαα α’αΆαααααααΎααααα»αααΆαααΆα α’αααΈαααααααα’αΆα ααααΌαααΆαααααΎα±αααααααΎαα α αΎααα αααα»ααααααααα αα α»ααααααααααΈααααααΆ ααΆαα·αααα’ααααΆααααΆαααααααΆαααααααα·ααΈααΌα ααΆ ααΌαααααΆααα·αααααααααααααΎααα·ααααααα’αΆααααααααααΆαααααααΆαααααααα
αα βαααα»αβααΆαβααααααα ααΎβα’αααβα’αΆα βααΉαβααΆβααΆαβα’αααΈβαα»αβααΆαα½α NUMA αααβααααβααΆ? α’αααβααΆαβααΆαβαααβαα·αβαααααΆαβα α·ααα ααααΆαααα CPU ααααβααΎαβααααααα αααα»ααααααΆαα½αααααΆαααα’ααααα·ααΆααααα½ααα αααα»α PostgreSQL α αΎαααΎαααΆαα·αααΆαα’αααΈααααααααααΆαα ααΈαααααα αααα½αααΆααααααα·ααα½αααΆα CPU ααααΆαααααααα α’αααα’αΆα α αΆααααΆααΆαααααααααΌαα ααΆααΆααααααΆααααα½αααααΎααΆαααααΆαααααΉαααααΌαααΆααααΈααααΌαα’αααΈααααααααα NUMA αααααΆαα PostgreSQL α
ααΎααΆαα’αααΈααΎαα‘αΎα? NUMA ααααΆαα±ααααΆαα αΌαααααΎα’αααα αα αΆααα·αα―ααααααΆαα ααΎβααΆαβα ααα»α βα’αααΈ? α’αααααΆααααΈααΈααΌ αα αααααααΆααΆαα’αααα αα αΆαααΌαααααΆαααααααΆα α αΎαα’αααα αα αΆααααα’αΆα ααΆαα’αααα αα αΆαααΈαααΈααΈααΌααααααααα
ααααα·αααΎα’αααααα numactl --hardware
αααααΆααααα’αααααΉαααα½αααΆααααααΉαααααααααα αααα»αα
ααααααααααααααααααΉαααΆαααΆαααααΆαα ααΆααΉαααΆαααα - 10-20 α’αααΈαα½αααΌα
αααα αααααΆαααααααΊααααΆαα’αααΈααΎαααΈα
ααα½α hops ααΎααααΈααα’αααα
αα
αΆαααΈα
ααααΆαααα α αΎαααααΎααΆαααα»αααΌαααααΆαα ααΆαααααΆααααααα·αααα’α ααααααααΎαααααΏαααααΎαααΆαααΆαααα’αα
ααααααα½αααααααα»αααΆαααΆαα
α₯α‘αΌααααααααΆα’αααααΆααααΈααΈααΌαα½αααααΌαααααΆααΆαααααΎα’αααα αα αΆαααΌαααααΆαααααααΆ αααααΆααααααααΆααΆαααΆαα’αααα αα αΆαααααααααααΆααααααΆααααααΆααα’αααααααααΆααα’αααΈαα½αα α αΎααααΈααΈααΌαααααα½αααΆαααααΆαααααααΆααααααα PostgreSQL ααΆααααΌαααααα’ααα - αααα αΎαααΆααΆ ααΈα αααΆαααα½αα ααα½αα α’αααααααααα½αααααΈααα’αΆααααααααα»α ααΈααααααα ααΎ CPU ααΆααααααΆααΆαα’αααα αα αΆααα·α αα½α αα αααα»ααααΌαα»ααααα α αΎαα’αααα αα αΆαααΆααα’αααααααααΌαααΆααααααααααΆααααααΆααααΆαααααΆααααααΆααΆαααααα ααΆααααα ααααΊααα·αααααα α α αΎαααααααααααααΎαααΆαααααα’αααααααααααααααΆααααΆαααααααααΌαααΆααααα»αααΎαααααααα₯ααααααα α αΎααααααααΆα αΌαααααΎα’αααα αα αΆααααααΊαα·αααα’ ααΊαα αααααΆααααΆαααΆααααα’ααααα·αα ααααΆα ααααα·αααΎα’ααααααα»αααααΎααΆαααααΆααααΌαααααΆααα·ααααααα
ααΌα αααα αααααΎαααααΉαααααΌαααΆααααααΆααααΌαααααΆααα·ααααααααΊαααααΆααααααααααααααα·ααααα·ααΆαααΈαα»α αα·αααΉαααΆααΆαα’αααΈααΎαα‘αΎααα ααΈαααααΆαααααααα ααΎααααΈα±ααααΆα αΌαααααΎα’αααα αα αΆαααΌα αααααΆααααΎα
α ααα»α’αααΈααΆαααΆβα’ααα αΉα? ααΆα αΆααααΌα ααΆααΆααΆαα½αααααΆαααααααΆαααααααααα ααΆααΎαα‘αΎααααααΆααα ααα»ααααΆαααααα½α: ααΎαααααΌαααΆαα’αααα αα αΆαα αααΎααααααΆααααααΆαααααααΆααααααα - ααα, ααΆααααααΈα αααΆααα
α αΎαααααα·αααΎααΎααααα ααααΆααα’ααααα α αΎααα»ααααα»αααααΆαααααααΆαααα·ααααααααααααΎααα ααΈααα αααααα ααααααΈααΆαααααΎααααΆααααααΆαααααααΆααααΉαααΆαα αααΎαααΆαααΆαααα½αααΆαααΈααΆαα αΌαααααΎα’αααα αα αΆααααα·ααΆαααααααα ααΌα ααααα αΎα ααΎαααΉαααα½αααΆαα’αααααααααααααααα·αα’αΆα αααααααααΉαααΆαααΎαααααααααα ααΉαααΆααα·ααααααΆααΎαααΉαα αΌαααααΎα’αααα αα αΆαααΆααααααΆαααααα·αααααΆααααααααΎ NUMA α
α ααα»ααΌα ααααα αΎα ααΆααα·ααΈααΆαααααααΈααα ααΈααα αα αΌαααΆααααα’ααΆααααααααΊααααΆαααΆαααααα α αΎαααΌαααααΆααα·αααααααααα½αα―ααα·αα’αΆα αααααααΆααΎαααΈααΈααΌαα½αααΆαααααΆαααα»αααααΎαααΆα αα·ααααααααααααΆααααΌαααΆαααΆαα’αααΈαα½αααΈαααα
ααΌα αααα αα·ααΈααΆαααααααααΉαααααΌαααΊααααΌααα·α NUMA ααΆααα’ααααααΆα§ααΆα ααααα αααα αΆααααααΎαα‘αΎααα·αα αααα»αααααΈααΆαα αααΎα ααΆαααααααΊααΆαααααΆααααααα ααααααα½αααΆαα½αααΆααα’ααΆααα·αααΎαα‘αΎαααΆαααααααα
ααΆααααααΎααα½αααααααααα ααΎαααααΎααΆααΉαααΆααααΆαα§αααααααΈαα½α ααΈααααααα ααααααα’αα·αα·ααααααααΎααααααΆααααΆαααΆαααα ααΆαα αΆααααααΎααααΆαααΈαααα‘αΎααα·αααΊααΆααΏααααααααΆααααΆααα ααΆααααΆαα’αΆααΈααααααα ααΈαααα α αΎααα½ααααα½αααααααααα αΆαααααΆααα NUMA α ααΌα ααααα αΎα ααΎαααααΆααΆααα·αααΆααΆααα·ααΈαααααΆαααααΆααα·α ααΆαααΆαα αΆααααααΎαα‘αΎααα·α ααα»ααααααααΌαααααααααααΎααααΈαα·αα·αααααΎαααΆααΆααααΌαααΆααα·αα αααααΆααααααα·ααααααααα αΆα ααΆααΆααΆαααα’αααααΎααα·α NUMA αα ααΎααααΎαααΆα PostgreSQL αα ααα»ααααααΆαα·αα αΆαααΆα αααΆααααααααααααΆααΉαααααΎαααΆαα ααΎαβααααΌαβαα·αα·αααβααΎαβααΆβααΆαβαα·αβααΆβααΆαβαα·αα
ααΆαααΆααααααΆαααααα’ααα Robert Haas α αααααΊααΆα’αααα αΆααα αα PostgreSQL αα½αα αα½ααααα»αα ααααα’αααα’αα·ααααααααααΆααααα giblets ααααα·αααΆαααΆααα’ααα α αΎαααααα·αααΎα’αααααααΎααΆααααααααΆααααΈααΆααααα ααααα αα½ααααα·αααααΆα’αααΈααΏααααΆαα αααα»ααααααΆα αααΎαα’αααΈααααααα NUMA ααΆαααααΎα±ααααΈαα·αααααΆααααααΆααααα»αααα ααΎα αα·ααααΆαααααΈαααα½ααα·αα·αααα’ααααααααααααααααααααααα’αααΈαααααααΌαααααααα ααΆαααααααααα ααΎαααΆαααΈααα ααΎααααΈα±ααααΌαααααΆααα·ααααααααααααΎαααααΎαααΆαααΆαααα’α ααΆαβαααααβααΆααβαααβααααΌαβαααααβα α»α α αΎαβαα·αα·αααβααΎα αααααβααΎβαα·αβααΌα ααααβαα ααΆβααΉαβαα·αβααα’βααααΆααβααα
ααΌαα αααΆαααΆαααα’αα»ααααα ααααααΆααααααααΆααα’ααααααααα»αααΉααα·ααΆαα ααα»ααααααΆααααααΆ ααΌαααααΆααα·ααααααααααΌαααΆααααααΌααα αααα»ααααααα - ααΆααααααααΆααααΆαα’ααα±αα ααααααα α»αα αα»αααααα αααααΎαααΆααααααααΆααααααα ααΎααΆααα αααααααααααΆαα½αα’αααααΉααα½αα§αααααα ααα» α αΎαα’αααααΉαααααΌααα ααΆααΆααα α αΎαααΆααΉαααααΆαααΆααα αΆααα
αααα»αααααΆαααΆαα’αΆαααα αα ααααααα’αααΈαα’αΆαααααααααΆαα ααΌαααααααααα’αααααααα₯αααααα α αΎαα α α αααΆαααααα’ααααααααααΆαα½ααααααα αααα’αααααΉαααααΆαααααα·αα’αααΈααΆααααα½ααα·αα·ααααααααα α αΎαααααααα’αΆα ααΆαα αααααΆαααΆααα
α ααα»α αααααΆααααΊαααααααα αααααααααααΊαα·ααΆααααα»αααΆαααΆααααααααα‘ααααΈααααΆ α αΎαααααΆαα ααα»α ααΆαααα»αααΆαααααΎααΌα αααααα ααΎαααααΈααΆααΆααααααααΆααααα’αΆα ααααΎααΌα ααααααααα αα½αααααΆααααα½α Google α
ααΎβααΆαβα ααα»α βα’αααΈ? α’αααααΆααααΆαααΈααααα·αααααααααΆαααααααΆα RAM α αααΎα α§ααΆα αααααΎαααΈ 30 GBα α’ααααα·αααααΎαααααααααα αααααΆααααααΆα’ααααα·αααΆααΆαααΆαα αααΆαααΎααα αααα»αααααααααααααΆαααααΎααααΆααα’αααα αα αΆαα α αΎαααΆαααΎααααααΊαα ααααΆαααΈααΆαααΈαααΆααααα»αα
α ααα»α’αααΈααΆαααΆβα’ααα αΉα? ααΌα ααααβααΎβααΆαβα’αααΈβααΎαβα‘αΎα? ααααααααααααα·ααααα·ααΆααααα ααα’αααα αα αΆαααΆαααααααΌα αα ααΆααΆααααα½αααΆαα ααΆααΆαααααααααΆααΆαααΎαα‘αΎαααΆαααααααα·ααΆαααααα α αΎαααααα·αααΎααΎααα·ααααΆαααα’α·αααα OS ααααΌαααααααααα’αΆααααααΆααα·αααα·ααα ααΆααΌαααααα α αΎαααααΎαααΆαααααα·αααΆαααααααα»αααααα ααΌα ααααααααααααααααα·ααααα·ααΆαααΆααααααΆαα»αααααααααααααα·ααααα·ααΆαααααα αααα»αααΆααααααα Lookaside Buffer (TLB)α
α αΎαα αΆααααΆααααΈ TLB ααΊααΆααααΆαααααααΆαα αααα αΆααΆααα’αααααααΆααα αααα»αααααΆαααααααΆααααΎαα‘αΎααααα»αααααΆαααΆααααα ααΈαα½α ααααα·αααΎα’αααααΆα RAM α αααΎα α αΎαααΆααααΌαααΆααααα αααα ααΆαααααααΌα α αααααα·ααααααα’αΆαααααααααΉαααααΆααα ααΆααααΆααα α αΎαααααα·αααΎααααΆαααααααΆααααΆαααα ααα αααααΆααααααααααΆααααααΆααΊααΊαααΆαα Overhead ααΊααΆααα»αααΆαααα’ α αΎααααα½αααΆααααΌαααΆαααα ααααα»α αααααΊ RAM αααα»αααααΌαααΆαααααΎααααΆαααααα’αααΈααααα·αααααΉαααααΌαα ααααααα
ααΈα - ααααΆαααααααΆααααΆααααααΎαα‘αΎααααα»αααααΆαααΆααααααα ααΆααααααΆααΆα’αααααΉαααΆαααΆαααΆααααααΆαααααααΆααα α αΎαααααα·αααααΆαααααααΆαααααααΆαααααααα α»ααααΆαααΆαααα αααα ααααααααα αααααααΆααΎαα‘αΎαα ααΌα αααα ααααααααααααα·ααααα·ααΆαααΆαααααΆαα½ααα·ααΈααΆαααααααΆαααααα½αα ααΆβααααΌαβααΆαβααααΎβαααα»αβααΈαα»α βααΆβααΌαβααβα αΎαα ααΆααΆααααα αΆααααα½ααα αααα»α FreeBSD αα·αααΌαααα»ααααΆαααα ααα»ααααααΎααααα»ααα·ααΆαα’αααΈααΈαα»α α ααΆαααααααΊααΆαααααααααα
α αΎααα ααΈαααααΆαα½αααααααΌαααΆαααααααααΆααααΆααααααααααααααΆαααα·ααα½αααααΌαααΆααααα»αααααα ααααααααα½ααααα αΌα Oracle αα·α IBM αααααΊαααα»αα αα»αααα·αααΌαααααΆααα·αααααααα·ααααΆαααααΆααααΆααΆααΉαααΆααααααααααααααΆααααΌαααααΆααα·αααααααααααα
α αΎαααΎαααα’αΆα ααααΆαααΆαα·αααααΆαα½α PostgreSQL αααΆαααΌα ααααα ? ααΈαα½α ααααααααααααΌαααααΎααα αααα»αααΊαααααΈαα»α α
ααΈααΈα αα½αααααααΌααααααααΆαααααΆαα αααΆααααααααΆαααΆαααααα sysctl - ααΎααΆαααα»ααααΆαα ααααα ααΈαααααΊααααΈαααΆαααΈαααα αΆαααα½αα ααα½αα α’αααβα’αΆα βααααΆβααΆβααΎβα’αααβααΆαβααααααβα’αΆααααβαααβααΆαβα ααβαααααβααα»ααααΆαβααΎααααΈβα±ααβαααααβααβα’αΆα βααβααΉαβααΈαααα
α αΎαααααα·αααΎαααΆαααΈαααααΆααααΌαααααα’αααααααΌαααΆαα§αααα·αααα PostgreSQL αααα ααα»α α αΆααααααΎαααααα’ααΊααααΌααααα αα RAM ααΆαα 25% αα buffers αααααΆαα ααααααα α¬ 75% ααααα·αααΎα’αααααααΆααααΆααΌαααααΆααα·ααααααααααα’ααααα·αααΆααααΉα 75% αααα α ααα»α α αΆααααααΎαααΈα‘α α αΎααα·α αΆαααΆααααα·αααΎα’αααααΆα RAM 256 GB αααα’αααααΉαααΆα 64 GB αα buffers ααα ααααΆαααααΆαααΆαα½αααΉααααα - ααΎαα½αααααααα½αααααααα ααΆα’αααΈα
αα»αααααααα 9.2 (ααααα·αααΎαααα»ααα·αα ααα‘ααα α αΆααααΆααααΈαααα 8.2) ααΆα’αΆα ααααΆαα PostgreSQL ααΆαα½αααΉαααααααααααααααααΎαααααΆαααααΆααΈααΈααΈα α αΎαααααα½αααααααΌαααΆαααααΎααΆαα·α αα α ααααΌα α’αααααααΌαααΆαααΊααα ααΎααααΈα’αΆα αααα αααααααααααααΆαααααΉαααααΌαα α αΎαααΈααΈαααΎααααΈα±αααααααα·ααΈαααααααΎααΆαααΆαα½ααα½αααα’αΆα ααααΎααΆααΆαα ααΆααΉααα·αααααΆααααααααΎαα·ααΈαααααα α αΆααααΆααααΈ PostgreSQL αααα ααα’αααα αα αΆααααα»ααα ααΆααααααααααααα 5 αααα’αΆα ααααΌαααΆαααααΎαααααααΎ libhugetlbfs - αααααΊααΆαααααααααααααααααΆαααα
αα αααα»α 9.3 ααΆαα’αα»αααα PostgreSQL ααααΌαααΆαααααΎα±αααααααΎαα‘αΎααα αααααααΎααΆαααΆαα½αα’αααα αα αΆα α αΎααααααααα 5 αα·ααΈααΆααααααααα ααα’αααα αα αΆαααααΌαααΆαααααααα ααα αααααααααΆαααααΆαα α·αααααααΆααααΆαα αααααααΎαα·αααΌα αααααα α’αααααααΆααΆαααααΎαααΆααααααα·ααΈ PostgreSQL ααΈααα ααΎαααΆαααΈααααα½α α αΎαααΆαααα·ααΆαααΆαααα»ααα·αααΆαα’αααα αα αΆαα ααααααααααααααααΆααααα α αΎαααΆαααα·ααΆαααΆ sysctl ααααΌααααααααααΌαα α αΎαααΆα sysctl αααααααααα’ααααα ααααααΌαα αΆααααααΎαα‘αΎααα·αααα ααΆααΌαα α’ααααααααααααΆαααααΆαα α·αααα ααα»ααααααΆααααα ααα’αααα αα αΆα mmap ααΆααααααααΆαααααΎααααΆαααααααααααα α’αα·αα·ααααααααΎαααΆαα αααΎαααααΎ buffers α αααααααααα α αΎαααΎαααΆααααααα’αα»ααΆααααααΆααα»αααΆααα·αα±ααααααΌααα 9.3 αα ααΈααααααααααααΎααα ααΈαααααΆαα αΆααααααΎαααααΌαααΆαααααΆααΆααΆαααααααα’α
ααα»αααααα ααααααΆαααα α·ααααα»αααΆααα αααααααα αΆααα α αΎααα αααα»α 9.4 αα½αααααΆαααααΎαααΆαααααΉαααα·ααΆααααααα‘αΎααα·αααΆααααΆαααα’α α αΎααα αααα»α 9.4 αααΆαααΆαααααααα½αααΆααααα αΆααααα½ααα αααα»α postgresql.conf αααα’αααα’αΆα ααΎαααΆααααα ααΎα α¬αα·αα
ααΆαααααααΊααΆαααααΎααααααΆααα»ααααα·ααΆααααα»αα αα αααααα PostgreSQL α αΆααααααΎα αα ααααααααΆαααα ααα’αααα αα αΆααααααΆαα ααααααα ααΆααααΆααΆαα αΆααααα’αααα αα αΆααααααΈαααααααααα α αΎαααααα·αααΎααΆαα·αααααΎαααΆα αααααΆααΉααα·ααααααααα αααααΎαααααααΆαα·αα α αΎαααααα·αααΎα’αααααΆα FreeBSD α¬ Solaris αααα’αααα’αΆα ααΆαααααααΆα ααΆαααααααΆααα»ααααα·ααΆαα
ααααα·αααΎααΎα αααααΆαα·αα αΆααααααΎααα ααααα·αααΎααΆαα·αα’αΆα ααααΎαααΎαααΈααααααααα αα ααΈαααααΆαα·ααΆαα’αααΈα’αααααΆαα·αα’αααΈαααααα’ααΆαα ααα»ααααβααααα·αβααΎβα’αααβααΆαβααααΆααΆα ααΌαβαα·αα·αααβααΎαβααΆβα’αααβαα·αβααΆβααΆαβα’αααΈβαααβα’αααβααααΌαβααΆαβααΌαβαααααΆαα αααααβααΆαβα αααααβα αααΎαβαααααΆααβααα α»αα αα αα α»αααααααα»αααΆααααααααΎαααΆαααααΎααΈαα»α ααα»αααααα
αααααα αααΆαααΌα αα½αααα αα»ααααααΎααααααα αα»ααααα ααααααααααααααΆααααααΆααΆα αα·αααΆαααα·ααΆαα’αααΈ PostgreSQL αα α‘αΎαααα ααΆαααα·αα’αΆα ααααΎααΆααααααΆααΆαααα α αΎαααΆαα½αααΉαααααααααααααααΆααααααΆααΆααααααΆααααααα»αααΆαααΆααααααα αα αααααααααααααααα’αααα αα αΆααααααΆαα αααααααααααΌαααΆαααααΌαααΆα α’αααααααααααααΆαααααααΆαα½αααΉαααα αααααα»αααααα ααααα·αααΎα’αααααΆαα’αααα αα αΆα terabytes αααααΆα’αΆα ααΉαα αΌααααααα ααααα·αααΎααΎααααα»ααα·ααΆαα’αααΈαααααα·ααΈαααα αΆαααααααΆααααα αααΎα αα ααααααα’αααααΆαα’αααα αα αΆα 32, 64, 128, 256 GB αα ααΎαααΆαααΈαααααα’ααα αααααααααααααααααΆααΊ Ok α αΎαααΎαααααΆαααααα·α Transparent ααα»αααααα
α αΎαβααΏαβα α»ααααααβα’αααΈβααΆαβα αα αΆαβαα·αβααΆααααβααααΆααβααΉαβααααβααΎβαα ααΆβαα·αααΆβα’αΆα βααααααΆαβααΈαα·αβα’αααβααΆαβα ααααΎαααΆαααΆααα’ααααΉααααααααααΆαααααΆαααααΆαααααααΆααα·ααααααΆαααΆαααΈααααααα»αααααΆααααααΌαααΆαα·α αα α
α αΎααααααΉαααΆααΆααα·ααααααΆαα α·αααααααΆααααΆαααα αααα»ααα·ααΈαα½αα ααα½αα α αΎααααα αΆα ααααααΊααΆ ααΊαααααααΎαααΆαα₯αα·ααΆαααα»αααααΆααααα·α ααΈααΊαααααΈαα»α α αΆααα α αΎαααΏαααααα·αααΆαα·ααααααΆαα α·ααααααα»αααΆααααααα αΆααα αα»α ααΈααααααα ααααααααΎααα·ααΆαα’αααΈααααααααααΆαααΆααα½αα ααα½αααΆαα½α swap ααΆαααα αααααααΆααααααααααΆααα OOM ααααα·αααΆαααααααααΆα α αΎαααΆααα OOM ααααα·αααΆααααααααΆααααα αα·ααααααΆαα PostgreSQL ααΊαα·ααααααΆαα α·αααααα α’αααααΆααααααΆααΉαααΉαα’αααΈααΏαααα αααααΊαα αΌααααα’αααααααΎααααΆααα α»ααααααα
ααΎβααΆαβααΏαβα’αααΈβααΎαα‘αΎα? α’αααααΆα RAM α αααΎααα ααΈααα α’αααΈαααααΎαααΆαααΆαααα’α ααα»αααααααααΆααα ααα»αααα½αα ααα½α αααΆαααΈααααααα½ααααα»αααΆαααααΆααααααΌα α αΎαααα α»ααααααΆααααααα αΆαααα ααΆα αΆααααΌα ααΆααΆαααΆαα αα αΆαα αααΎα ααα»ααααααΏααααααΎαα‘αΎαα
ααΈαα»α ααΎαααΆαααααΆαα±ααααααα vm.swappiness αα ααΌααα αααααΊαα·αααΆα swap α ααΆαααΈαα»αααΆα αΆααααΌα ααΆααΆ 32 GB αα RAM αα·α buffers αααααααΌαααααΆααΊααΆα ααα½αααααα αααβααααβααααΆααβααβααΆαβαααααΌαβααΊβααΎααααΈβααΆαβααααααβαααααΆααβαααβααααβα ααβααααα·αβααΎβααΎαβααααΆααβα ααα α αΎαααΆαα·αααααΌαααΆααααααααΆαα·ααααααααα α αΎααααααΆααααααΎα’αααααΉαααααΎα’αααΈααΆαα½αααααααα? αααααΊααΆαα·α αα ααΆααααααΆαα·αα αααΆααααΆα ααα»α’αααΈααΆαααΆααααΌαααΆαααΆαααααΆααααααΌα ααΆαα·αααααα αααααααα
ααα»αααααα αααα»αααααααααΎαααααααααα αααααΊααααααΈααΈααααΊααα α₯αα·ααΆααααΆαααααΆααααααΌαα α αΎαααααα·αααΎα’αααααααα swap αα ααΌααα αααααΊαα·αααΆ ααααα·αααΌααα·αααΆαα ααΎαααααΈααΆαα ααα RAM ααααααααα ααΆααα OOM ααΉαααααα’αααααΎααααΈαααααΆααα’αααααααΎααααΆαααααααΉαααα’ααααααΆαααααα»αα αααααΆαααααΆααααΉααα·α αΆαααΆααΆ ααΆαα½αααΉαααααα»αααΆαααΆααααααα ααΎααα ααΆααααααααα·α ααααα½α α αΎαααΎαααΉααααα αα αααααΊαα·ααααααΎααααΈαααααΆααααα α»αααΎααααΎαααΆαααααααααααααα ααα»ααααααααΌααααααα’αααΈααααα·αααΌαααααΆααα α’αααααααα·αααΌαααααΆαααααααΉαααααΆαααΆα’αααααααΎααααΆαααααααΉαααα’ααααααΆααααααΆαα αα αΆααα½α αααααΊαααααααααΈααα α αΎααααααΆααααΈαααααΆααΉαααα’ααααα·αααΎααΌαααααΆααα·αα αΆαααΆα αααααΌαααΆαααααΆαα‘αΎααα·αααα
ααΌα ααααα αΎα α₯α‘αΌαααα ααααΆαααΎα ααΆααααα»αα αΆα ααΆαα ααα αΆαααΆαα αααΎαααΊαα ααααααααΆαα½ααα αα»ααα·α 6 αααααΊαα αααααα ααα»α ααΆαααα’ααααα½αα αΆααααααΎαααααΎ swap α’αΆαααααααΎα ααα½αα’αααα αα αΆαααααα αααα α₯α‘αΌαααα ααΎαααΌαααααΆαα±ααααααα vm.swappiness = 1 ααΈαααααααΆαα·αααΆ ααα»αααααα·αααααααααααααΆααααΌα αα ααΉα OOM-killer αααααΆααααααααααα·αααΆαααααΉααα»α αα·ααααααΆααα’αααΈαααΆααα’ααα
ααΆαβα’αααΈβαααααΆαα? αα αααααΎααα·ααΆαα’αααΈααααΎαααΆαααααΌαααααΆααα·αααααα α αΎααααααΎαααααααα ααααΆα ααα»ααααααααααααΆα αΆααααααΎαα αΆααααααΆααααααα½αααα αααααΆαααααΆααα·ααααααΆααΆαααΊαα αΎαααΆαα αα αΆαααΏαααΊααααΆαααααααααααΆααΆααααΈαα»ααΆαααΆαα α αΎαα’αααααΆααααααΆααΉαααΆααΌαααααΆααα·ααααααααΉαααΆααααα αΆααααΎαααΆαααΆαα
αααα αΆααααΎαααΆα PostgreSQL α αααααααααΆααααααΉαααΆααααααΎαα ααα»α αααα½ααα·αα·ααααα·αααΎαα‘αΎααααααααααΆαααΊαα αααααααααΆαααααΆαααα’αααα αα αΆα αα·αααααα·ααααααΌαααΆααα·αααΆααα»αααααΆαα ααααααΆαααΆααααα αα½ααααααα ααααΆαα·αααΆααα»αααααΆααα ααααααααααααααααΆααα PostgreSQL αα·αβααααΌαβααΆαβαααααβαα ααΆαααααααα OS αα·αβααααΌαβααΆαβαααααβαα ααΆαααααααα Hardware αα·αβααααΌαβααΆαβαααααβαα ααΆαααααααα α αΎα Hardware αα·αβααααΉαααααΌαα α αΎααααα αΆααααα·αααΎαα‘αΎα αα»αααααΆααα’αααΈαααΎαα‘αΎαααΌα αααααΆαα½ααα αααααΊαα·αααΆαααΆααααα»α α¬ααΆαααααα αα·ααααααααΉαααααΌαααΆαααααΎαααΎααααΆαααα’α
ααΎβααΆβααΆβα’αααΈ α αΎαβααΆαβααΌαααΆαβαααΆαβααΆ? ααΆααααααΆααα»ααααααααααΎααΆαααΆαα½α PostgreSQL ααΆαα αΌααα αααα»ααααα αΆαααα αααΎαααΆαααααα αααα»αααΉαααααααα ααΌα ααααααα»αααΆααα·ααΆα PostgreSQL ααΆαααααΆααααααΎααΆααααα½ααα·αα·αααααΎααααΈαααα ααααααααααααααα αααα»αα’αααα αα αΆααααααΆαα ααααααααα ααΆαα ααααα·αααΎααΎαααΆαα’αααα αα αΆααααααΆαα αααααααα αααΎα αααα ααα»α αααα½ααα·αα·αααα αΆααααααΎαααΆααααααααΆααααααΆααααΎααΆα αααααααΆααααΎα±αααααααααΆααααααα·αααα fsync α ααΆαααααααα·ααααααα’αΆααααααΊααα α αΎαααααΌαααΆαααααααα ααΆααααααααΎ fsync α α αΎαααααα·αααΎααα·ααΆαααα’αΆααΈααααααααααΆαααα ααα αααααΎαα’αΆα ααααααααΎαααΌαα₯αααα·αααα·αααα’αα½α αααααΊααΆαααααΎααααΆααααΈααααΆαα αααΎαα
αα ααΈααααααα»αααΆαααΌαααΆαααΈαα α₯α‘αΌαααααααα»αααΉαααααααααΆααΆααΆα’αααΈα ααΆαααααααΊααΆααααΆα αααααααΆααααααααΆααΉααααααααΆα ααααΆα ααααΈαα½αααΊααΆαααααΎααααΆααααΆαα αα ααΈαααααΆααΆαααααα·α 90% αα ααααααα ααααα·αααΎα’αααααΆαααΆααααΆαααααααΌαααααΆααα·ααααααααΆαα½αααΆαααΆαααΆα ααΆαα½αααΉαααΆαααααΎααααΆααα§ααααααααααΆ RAID αα 90% ααααααααΊααΆααααΉαα’αΆαααααα αααααΆααααααΆααααα·α αααααΆααΉαααΆαααα 100 α αΎα I/O ααΉααααα
ααααα·αααΎα’αααααΆαα’αΆααααΈα αααααΆααΆααΏααα»αααααΆααααα·α α ααΆβα’αΆαααααβααΎβααααβαααβααΆβααααΌαβααΆαβαααααβαα ααΆααααααααβααααααβααβα’αΆααααα
α αΎαααααααααΆ ααααΆα ααααΈαα·αααααΆααααααα ααααααααΆααααα»αααααΌαααΆαααααααα ααΆαααααααααα ααΈααα αααααααΆααααΈαααααααα ααα»α αααα½ααα·αα·αααααΎαα‘αΎαα α αΎαβαααβααααβαα βααΈαααβαααα αΆαβααΈβα ααα½αβααα·ααααααβα’αΆαααα αααααβααααααβααΆααβαααβαα βαααβαααβααΆαβααβαααβα ααα»α βαααα½ααα·αα·αααβαααβααΎααααΈβααααΎβααααΆαααααα α αΎααααααΊααΆααΏαααααΆαααααα’αααααααΌαααΉααα ααΈαααα ααΎαααΎαααΆααΎαααΆααααααααΆα αααΎααα ααΈααα α αΎααα α ααα»α ααααααΎααα»αααααΆα αααααΊααΎαααααα αα·αααααααα ααΈααα ααααααααααΆαααΊα αααΆααααΆααααααααΆααα α αΎαααα»αααα·ααααα½ααα·αα·αααααααααΎαααΆαα₯αααα·αααααΆαααααΆαααα ααΎααΆαα ααΆαα§ααααααα· ααααΆαααΆααα½αααααΎααα ααΌα ααα α§. ααΎααα·αααΌαααΆααααα ααΈαααααα α αΎαβααΎαβα’αΆα βαα½ααα»αβααΆβααΆαα½αβααΉαβααΆαβαααααβααΎααααΈβα±ααβααΆβααααβααΌα βαααβα αααααΊααΆαααα αααα‘αΎααα·αααΊααΌα ααα»ααααααααααααΆαα½αααΎααααα»ααααααα’αααΈαα½ααα ααΈαααα
ααΎααααΌαααααΎα’αααΈααΎααααΈαααααααα αΆααα? ααααα·αααΎα’αααααΆααααααα IO αα αααααααΌαααααΆααα·αααααα αααααΆααααααΆα’αααααααΎααααΆααααΆααα’αααααααΆααααααααααααΎαααααα½αααααΉααααα αΆαα
ααααα·αααΎα’ααααααα‘ααααΎαααΈαα·αααααΆαααααΈαα»α ααααα·αααΎα’αααααΆααααααααααΉαααα’ ααααααα ααΆααααααααααΆα±ααααΆαααααΉαααααΌα ααααααα ααΆαααααααα PostgreSQL ααΆααααααΆ ααΌα ααααααΆααααΎα±ααα ααα»α αααα½ααα·αα·αααααΆααααααα·αααΌαααΉαααΆαα ααΆαααΆααα½αααΆααΆααααααααΆαααΆαααααΆαα αα·ααα αα αααααΆααααα’αααα αΌααα αααα»ααααΆαααΆαααααα Debian ααααΆαααΎαα αααααΆααααΆαα ααα αΆαααΈαα»α ααΆαα αααΎα αααααΆααΌαααΆαα vm.dirty_ratio=20, vm.dirty_background_ratio=10α
ααΎβααΆβααΆααααβαααΆαβααΌα ααααα ? αα·ααΆα ααααααααΆααα½αααΆααααα αΆααααα½αααΈααΊααα 2.6 α Pdglush α’αΆαααααααΎα’αααααααααα»αααααΎ αααα αΌααα½ααααα»αααΆαα ααααααααΆαααααααααααααααααααα ααααΈααα·ααααααα’αΆααααααΊααα α αΎααααα αααα ααααααα αΆαααΆα αααααΌααααααααααααααααααααα αα·αααΆααΆαααΏαα’αααΈααααα αα ααααααααΆααααα αααααααααΆαααααααα·αα’αΆα αα½αααΆαααα
ααΎααααααΆααααααααααααα αααααΆ? αα αααααα 10% αα RAM ααα»ααααααΆααα ααΎαααΆαααΈαααααααΌαααΆαααΆααααΆαααααααααααααααααα αααα»αααα·ααααααα’αΆααααααΊααα αα»αααΆααα·ααα·αααααααΌαααΆαα α αα ααααααΆααααααα α ααα»α’αααΈααΆαααΆααααααΆαααααα? ααΆαααΆαααΆαααααα ααΆααααΌααα·αααΌαααΈα ααα½αααααααααααααΌααααααα ααα α αΎαα§αααΆααΆααΆαααααααα ααααΈααααα N α α αΎααα½αααααα»αααΏααααααααααααα α αΎααααααΆααααααΆααααααααααα αΎαα ααααααααααα½αα ααα½ααααα
αααααΊααΆααΏαααααΆαααααααα»αα αααα αΆαα ααΈαααααΊααΌα ααΆα’αΆαα ααααΉα ααααααααΆα αΆααα αΌααα αααα»αααααααα½α ααΆα αΌαα αΌααα αααα»ααα½ααααα ααα»αααα·ααααα½ααα·αα·αααααααααΎαααΆαααααα α αΎαααααα·αααΎααΆααααΎαααααααααααααΈαααΈαααααΆααααΆααααα αα αααααααα·α ααααα α’αααΈαααΆααα’ααααΉαααααΌαααΆααααααααΆααααΆαααα’αΆαααΈααΊαααααα·ααααααα’αΆαααα pgflush α
ααααα·αααΎαααααααααααααΆααααααα αααααααααα»α ααΆααΉααααα»ααα αΌαααα 20% αααααΆααααα’αΆαα·ααΆα OS ααΊααααΌααααααα’αααΈαααΆααα’αααα ααΆα αααααααΆαααααΉααααΆααα α αΎαα’αααΈαααΉαα’αΆααααααααααΆααααΎαα α§ααΆα ααα ααΎαααΉαααΆααααααα·αααααααααα
ααΎαααα·α α’αααΈ? αααα·α ααΊααΆαααΆαααΆααααααααΆααααααα αααα»ααα·ααααααααααΎαααΊ 20 αα·α 10% αα RAM ααα»ααααααΆααα ααΎαααΆαααΈααα½ααααα·αααΆα’ααα αΆαααααΆαααα αααα»αααααααααααααααΎαααΆαααααααααααααΈαααΆαα½ααααα’αααααΆαα
αααααααΆα’αααααΆα RAM 128 GB α 12,8 GB αααααααααααααααΈαααααα’αααα α αΎαβαα·αβααΆβααααΆααβαααααΆααβααΆβαααβα’αααβααΆαβαα βααΈααα αα·αβααΆβα’αΆααβααΆβαααβα’αααβααΆαβαα βααΈαααβαα ααΆβααΉαβαα·αβααΆαβααααααβααΌαβαααβααβα
ααΌα ααααα αΎα ααΎαααΌαααααΆαα±ααα’αααααααααα½ααααααΆαααααααααΆαα αααααα’ααααΎαααααααΆαααααα§ααααααααααΆ RAID ααααα’αααα ααααΆαααααα»αααΆααααααα’αα»ααΆααααα ααΈααααααααΆααα§ααααααααααΆαααααΆαααααΆαααααααΆαα 512 MB α
α’αααΈααααααααΆαααααΌαααΆαα αΆαααα»αααΆααΆααααααΆααα α’αααα’αΆα ααΆαα vm.dirty_background ααΆααα α αΎαααΆααααααααΆααααααα»αα ααααΈααα»αα αααΆααΆαααααΆααααΈαααΊααΆαααααΆαααΎα α¬α’ααααααααΆαααααααΌαααΆαααααΎα±ααααααα αααααΆααααα’ααααααααΆαααααΉαααααΎαααΆαα ααα»αααααααααΆααααα»αααΆα’αααααααΉααααΆ DBA αα·αααααΎααΆαααΆαα½αα’αα·αα·ααααααααααααΆ αααα»αααααΆααΆαααΌαα αααΎα α αΎαααΌα ααααααααα·αααΎαα·αααΆαα αααααΆαααααα·αααΆααα ααααΆαααααΆααααΆαααααααααΆαααΆααΆααΆαα½αααΆα’ααααααααααααααα’ααΉααα·αααααααα’αααα αα αΆααααααααα αααΆαααΈααα α αΆααααααΎαααΆα‘αΎααα·α α αΎααα½αααααΉααα ααααα ααααΆααααααααΆαααααΆαααααααΎααααΈα±ααα’αααΈααααααααΆαααααΉααα ααΈαααααΆαα½αααΉαααΆαααΆααΆα
ααΎααΆαα’αααΈααΎαα‘αΎαααααα·αααΎα’ααααα·ααα? αααα»αααΆααααααααΆ ααΆαα αΌαα ααααΆαα½αααααΌαααΆααααααααααΆαααΆαααααα·αααααΆα ααα»ααααααΆααα·ααααααΊααΆαα½αααααααΆααα·ααΆαα ααααααααααααα·ααααα·ααΆαααΆααααα αΆαα - ααΆααΆααααααααααααααΆα αααΎα ααΌα αααα IO αααα’αα·αα·ααααααα’ααααααααΎαααααΌαααΆααααααααααΆαααΆαααααα·αααααΆα αααααΊαααααα·ααΈααΆαααααΎααααΈααααΎαααα½α sql αα ααΌαααααΆααα·αααααα ααΆαααα»ααααα αΆαα ααΆααααΆααααα αΌα/αα·ααααααα ααΆααΊααΆαα’αΆαα·ααΆαααΆααααα»α ααΈαααααααΌαααααΆααα·ααααααααααΌαααΆαααΆααααΆαααααα ααα»α αααα½ααα·αα·αααα α αΎααα αααααΆαααααΆαααΉααααα ααααΆαα·αα αααΆααααΆαααααα»αα α αΎααα ααααααα’ααααααααα ααΆαααΆαα αΌαα ααααααα·αααΆαααααααΆαααααα ααΆααΆααααααΆ IO ααααα’αααααΆααα’ααααααΌαααΆαααΆααααΆαααααααΆα α αΎααα αΌααααααΆα ααα’αααααΉααα·αααααΎα’αααΈααΆααα’ααα
ααΆαα ααα»α ααααΆααααΈαααααα ααΈααα αααα α½αααΈαα·ααΆαααΆααααααΆαααΆααααααα ααΆααααααααΆααααααα½αααααααΌαααααΆααΉαααΆαααααααα αααα»α postgresql.conf αααααΊααΆααααααα ααα»α αααα½ααα·αα·αααα α αΎαααααααααααΈαααααα’αααααααΌαααααααΌαααΆαααααααα ααΆααααααααα±ααααΆααααααααααΆααα ααααα·αααΎα’αααααΆαααααΆαααααααΆαααα ααΎ RAID αααααΆααααΌαααααΆααααα ααα»ααααα·α RAID ααΆαα½αααΉαααααΆαααααααΆααααα’αααααααΆααααα ααααα·αααΎα’αααααΆα SSDs αα αααα»α RAID ααααα½αααΆααααΌαααααΆαααΆαααΈααα ααααΌαααααΆα capacitors αα ααΈαααα αααααΊααΆαααααΈαα·αα·ααααααα’α·αα αααααααΆαααααααΆααααΆαααΆααααααααααα»αα’αααΈααααααααααα ααΆααααααααααΆαααααΎαααΆααα αααα»α PostgreSQL α ααΆααααααΈαααα½ααα·αα·αααααΆααα’ααααααα ααΈαααα
ααΎααΆαα’αααΈααααααα’αΆα ααααΎα±ααααΈαα·αααααΆαααααΆαα? ααΆαααααααΊααΆαααΆαααΆααααααααΈαα αα½αααααΊααααΈααΆααα ααΆαααααΆαααΎα αα½αααΆα’αΆα ααααΌαααΆααα½ααααα αΌααααα»ααααααα·ααΈααααααα α αΎαβαα½αααβα’αΆα βααααΎβα±ααβααΈαα·αβαα½αβααΆαβααααΆαβααααα·αααΎβαα½αααβααΎαβαα·αβααααΉαααααΌαα
ααΆαααΏαααααΈααΈααααΆαα αα½αααααΆααααα αΆααααα½ααα αααα»αααααΌαααΈααΈαα½α α αΎαα αααααΊααΆ sched_migration_cost αα·αααΆ nanoseconds αα·α sched_autogroup_enabled αααααΆααααΆαααΎααα½αα
α αΎαααΎαα½αααααααααΆαααΈαα·αα’ααααααααααααΆ? ααΎ sched_migration_cost ααΆα’αααΈ? αα ααΎααΈαα»α αααααα·ααΈααααααααα’αΆα αααααααααΎαααΆαααΈαααΈααΈααΌαα½ααα αα½ααααα α αΎααααααΆαα PostgreSQL αααααααα·ααααα·αααα½α ααΆαααααΎα αααΆααααα»ααα CPU ααααααααααΊαα·αα αααΆααααΆααααΆαααααα»αα ααΆαααααααααααααααααααααα·ααααα·ααΆα αα αααα’αααααααΌααααα’α½α αααΆαααΆαα·ααΆαααααΎαα αα αα·αααααΆααΈα ααΆα’αΆα ααα’ ααα»αααα αααααΆααααΌαααααΆααα·αααααα αααααΊα’αΆαααααααΆααα ααΌα αααα αααααΆαααααα ααα»αααα½αααΊααααα migration_cost αα ααΆααααααααα½αα ααα½α αααΆαα αα ααΆααααΆα αααΎαααΆαα nanosecondsα
ααΎαααααΆαααααααΆαααΆαααααΆααα’ααααααα αααΆααα·ααΆα? ααΆααΉαααααΌαααΆαα αΆαααα»αααΆαααα»αα’αα‘α»αααααααααααΎαααΆααα αααααα α αααααΊααααα·αααΎα’αααααΆαααααα·ααααα·ααΆαααααΌααααααΆααα·ααααα»αααααΎα’αααΈαα½αα’ααααααααααΆααΌα α’ααααααα αααΆααα·ααΆαααΉααααααΈααΏααααα ααΆααααΉααααααααΆαα αΌαααααααααααΆαααααααααα»ααα αα·αα αΆαααΆα αααααΎα αααΆααααα»αααααΎαααΆαααααα ααααααααΆαααααα ααααα·αααΎαα αααααααΆαααααΆαααααααΎαααΆαααααΎα’αααΈαα½α αααααΆααΉααα·αααααΌαααΆαααααΎα αααΆααααα»ααα ααΆααααα ααΆααΉαααααΎαααΆαααααααααααααΆαααα ααΎ CPU αααααααΌαααΆαααααα»ααα»ααααααΆααααΆα α αΎαααααααααΊααα’α₯αααα ααα
α ααα»α ααΈααΈαααΊ autogroup α ααΆααααα·αααα’αααααΆααααααα»αααΆαααΆαααΆααααΆααααααα·αααΆαααααα ααΉαααΌαααααΆααα·ααααααααααΎα - αααααΊααΎααααΈααααΎαααΆαααΆαααα»ααααααααΆααΈααα·αααα·αααααα½αααΆααααΌαααΆαααΆααα±ααααααΎαααΆαα αααααΆααααα½ααααααΆαααα·α αα ααΆααα½αα ααα½αα αα αααα»αααΆαα’αα»αααα PostgreSQL ααΊααΆαααααααααα α»ααααΎαααΆααααααΆα prefork αααααααΎαααΆαααΈααααΆααΈααααα½αα α’αααααΆα lock writer, checkpoint αα·αααΆααααααΎααααα’αα·αα·ααααααα’αααααΉαααααΌαααΆαααΆααααΆαααα»ααα αααα»ααααααα·ααΈαααααααααααα½α αααα»ααα½α CPUα α αΎααα½αααααΉααααα αΆααα ααΈααααααα―αα―αααΎααααΈα±ααααΆααααΆαααααΈααΆα ααΎααααΈααααααααααααααΆαα αα·ααα αα αα·ααααααΆα±ααααΆααααΆααααΆααααΆαααΌαα αααααΊααΆααΏαααααα·αα αΆαααΆα αααΆαααααα»ααα αααα»αααααΈααααΆααααα»αααααααα αΎαααΌα ααααααΆααααΌαααΆααα·αα
αα αααα·ααααααααα»α Alexey Lesovsky ααΆαααααΎααααααααααααΎ pgbench ααΆαααα αααααΆααααΆααααααΎα migration_cost ααΆαααααΆααααααα α αΎααα·α autogroup α ααΆααα»αααααΆαααααααααΉααα·αααα’ααΊααααΎααα 10%. ααΆαααΆααα·ααΆααααΆαα ααΎαααααΈαααα»ααααα½ααααα Postgres αααααα»ααααααααααααααααααΆαααααΆααααααΌαααααααααααΆαα ααΉαααααΏααααα½α α₯αααα·αα 50%. ααΆαααΏαααααααα αααΎαααΆααα
α αΎαα α»ααααααα’αααΈαααααΆααααααααααα αααΆαααα ααΏαααα’ααΊααΆααΈαα»α α₯α‘αΌααααα’αΆα ααααΎαα ααΎαα»αααααΌααααα½αααααΆαα α αΎαβααΆβααΉαβααααΎβαααβααΆαβαααΆαβααα’α ααα»ααααααααΆααααΆααααααΆαααααα’αΆα ααΎαα‘αΎααα ααΎαααΆαααΈααααααααα
ααΎαααΈααααα ααα ααααα·αααΎα’ααααα½ααααΆαααΈαααααΈ hoster αα½αα ααα½α ααα hosters "ααα’" αα·ααααααααΆα’αααααΆαααααΎαααΆααααααΎαααΆααααααα ααΆααα·α αα αααααα½αααααΊααΎααααΈααΆααΆααΆααααααααα½αααααααΌαααΆαααααΎααααΆααααααααααααααα·αααααΆαααΆααααα’αΆα ααααΎαα ααΆαα ααΌα ααααααΆαααααΆαααΎα αα½αααα’αΆα ααΎααααααααααααΆααααα»αααααΌααααα½ααααα ααΎααααααααααααα·ααααα·ααΆαα
ααααα·αααΎα’αααααααΎααααα»ααααα ααΎαααΆαααΈααααααααΆαααΌαααααΆααα·αααααααα αααααααααα»ααααααααααααααΎαααααα’αααααΊ acpi_cpufreq + permormance α ααΌααααΈαα ondemand ααΉαααΆααααα αΆα
Intel_pstate ααΊααΆαααααα·ααΈαααααΆαα»αααααΆααααα·α ααααα½α α α αΎαα₯α‘αΌαααα α αααΌαα α·αααααααΌαααΆαααααααα α±αααα½αααα αααααααΆαα αααααααα αα·αααααΎαααΆαααΆαααααααααΎαα
α αΎαβααΆαβααα α’αα·ααΆαβααααΆααβααβααΆβααΆαβα’αα»ααααβααα»αααααα Ondemand, powersave αα·αα’αααΈααααααααααα·ααααα’αααΈα’αααααα
ααααααααααΆαααααααααΈααΆααα·ααΆα PostgreSQL α’αΆα αα»αααααΆααΆαααααΆαααααααααΆα αααΎα ααααα·αααΎα’αααααΎαααααΎαααΆα powersave ααΈαααααααΆααααααα CPU αα ααααα database ααααα’αααααΉαααααΎαααΆαααΆαααααααααα·αα’αΆα ααΆααα»αααΆαα»αααΆαα
ααΆαα»ααΆαααααα’αΆα ααααΌαααΆααα½ααααα αΌαααΆαααααΆαααΎαα ααααΎαααααααα»αααααααααααΎααααΈααΎαααΆααΎαα½αααααΆαααΎαααΆααΆαααααΆαααΎαα αααα’αΆα ααΆαααα αΆααααααααα
α αΎααα ααΈαααα αα αααα»αα αααα·ααΆαα’ααα»αα ααααα’αααααααΈαααα»α PosgreSQL-Consulting DBA ααααααΎαααΊ Max Boguk αα·α Alexey Lesovsky ααααααα»αααααΆααα»ααααα»ααααα αΆαααααΆαααααΆααααααα α αΎαβααΎαβααααΆααΆαβααααΎβα±ααβα’ααβααΈβαααααααΆαβαααααΆααβα’αα·αα·ααβααααβααΎα ααΎααααΈβα±ααβααΆβααααΎαααΆαβαααααΆααβαα½αβααα ααΆααΌα ααΆααΆαααααΆαα’αααΈαα»ααααα·ααΆαα’αΆααΆαα αααα α’αααΈααα ααΈαααααααΌαααΆαααααααααααΆαα ααααΆααααΆαααααααΈαα½ααααααΌαααΆαααααΎααα αααα»αααααΎαααΆααααααααααααααα αΆαα½αα ααα½αα αααα»αααΈαααΆααααα»αααΆαα αααααααααΆααΆαα½αα’αααα
αααα½αα
ααΌαα’ααα»α! α§ααΆα ααα ααααα·αααΎαααα»αα αα»αα αααααααααααΆαα α αΎαααΆααααΌαααααΆααα·αααααα αα·ααααααα·ααααΆαααααα·ααΈαα ααΎαααΆαααΈααααααα½α α¬ααααα·αααΎαααα»αα αα»αααααΎααΆααα·ααααΆααΆαααΆααααααααααααΆααααααααααΈααααΌααααΆαααα ααα PostgreSQL ααααΎαααΆααααα»ααα»αααΊαααα ααΎαααα·α α’αααΈ? Sysctl ααΉααααααΆαααααααΊαααααΆααααΌαααΆαααα αααα»ααα·αααΆαααΊααΆ sysctls ααααΌαααΆααα·αααα·αααΌα ααααα ααΎααααΈα±αααα½αααΆααααΎααΆαααΆα ααααα‘ααααΈααααΆαα ααΎαα»αααΊαααα ααΆααα cgroup α αΎαααΆααααααααααΆαααααααααααα ααΈαααα ααΎα’αααα’αΆα ααααα ααΆαα½αααααααααααααΆ? α¬ααααα·αααΎα’αααα ααααααΎαααΆα αααααΆααααααααΎαααΆα PostgreSQL αα ααΎαααΆαααΈααααααααααΉαααΆα ααααα‘αα α αΎααααααααΆ?
ααΎαααΆαααααΎααααα½αααααα’αααααΆαααΈαα·ααΈα ααααα·αααΎααΎααα·ααα·ααΆαα’αααΈαααΆαααΈααααααααααΉααααα’αΆα αααααααΌαααΆαααα αααααΆαααααααααΆα α’αααΈαααΉαααααΎαααΆαααα’αααααααΆαααΆααααααααΆαααααα ααααα·αααΎα’αααααΆαααααα»ααααααααααα’αααααααΌαααΆαααΎααααΈααααΎααΆααααααααΆααααα αααα’αααααΉααααααΆαααΈααααααααΏαααΆαααΆααααααααΆαααααα
ααΆαβαααα αΆβα’αααΈ? ααααα·αααΎαααααΆαααΆαααΈααα·αααα·α αααααααααΆα’αααααΉαααΆααααα αΆααΆα αααΎα ααΆα§ααΆα ααα αααααΆααα·ααααααΆαα ααΎαααΆαααΈααα·αααα·αααΆαα αααΎα ααΆαααΊαααααΆαααΊαα·ααααΈαααααΆααααααΆα αααααΈααΆααΆααααα αΌαααΈαααα’ααααα ααααα·ααααα·ααΆα I/O ααααααΆααα ααααα·ααααααΆαααααααΆααααααΌαααΆααααααααααΆαααΎαα‘αΎααα ααααααα½ααα·αα·ααα α¬αα αααααααααα WAL αααααΌαααααΆααα·ααααααααΉααααα»ααααααΆαααααΆααααΈαααα αΆαααα α αΎαβα’αααβααΉαβαααααΆααβααΎαβα ααα»α βαααβαα»αβαααβα’αααβαα½αβαααα αΆβααΆαααααα
ααααα·αααΎα’αααααΆα NGINX αα ααΎαααΆαααΈαααααΌα ααααΆ α’αααααααΉαααΆααααα αΆααΌα ααααΆαααα ααΆααααΉαααααΌααΎααααΈααΆαα αα αΆααα½αα α αΎαβα’αααβααΉαβαα·αβααα½αβααΆαβαααα αΆβαααβααΆαβαα·αααααΆβαα βααΈαααα
ααα»αααααααααΆααα·αααα αααΆαααΆααααααααΆααααααα½αα ααα½αααΉααα ααααΆαααααααααΆαα½αα’αααα ααΆα§ααΆα ααα ααααα dirty_ratio ααΆαα½α sysctl ααΎααααΈαα»αα±ααααΆαααα½α - αααα»αααααΈααΆααααα ααΆααΉααα½αα αα·ααΈαα½α α¬αααααααΆααααααααα α’αααααΉαααΆαα’ααααααααααΆαα½αααΈαα α αΎαααΆααΉαααααααΆαααααΆααα»αα ααΆααΌαα αααααΊααΆααααΆαααΎααααααΆαααααΆαααΆααααααααααααα»αααΆααααα αΆαα α αΎααααα»αααααΈααΆαααααααΆααΆααΆααααααΎαααΆααααα»αααΆαααααΆααααααΌααα½αααα
ααα»αααααααα ααααΆααΆααααα αΆααΆαα½α NUMA α ααΆα§ααΆα ααα VmWare ααααΎαααΆαααα’ααΆαα½α NUMA ααΆαα½αααΉαααΆαααααααααα»αααααΆα α αΎααα ααΈαααα’αααααααΌαααααΎαααΎα - αααΆαααΈααααααα¬αα·αααααααα
αααα»αααΆααααα½αααΆααααααΉα Amazon AWS α αα½αααααΆαααΌαααΆααααααΆααααααααΆαα»αα αα½ααααα»αα αααααα½αααααααΌαααΆαααα α ααΆ Amazon RDS α ααΎααΆαααΆααααααααααΆαααααα½ααααααΆααααααααααααααα·ααααα·ααΆααααααα½ααααα?
ααΆαααΆαααααααα ααΈααα ααα»αααααα½αααΆααΆααΆαααααααααααααααΆα αα ααΈαααααΎαααααααα ααΆααααααααααααααααααααα·ααααα·ααΆααα αααα»ααααααααααααααααααααΌαααααΆααα·ααααααααΉαααααΎααΏααααα α αΎαααΆααααΆαααΆαααααααααααααααααααααααααΎααα½ααα α₯α‘αΌαααα ααΌα ααΆ ααΆαα αααααΊααΎαααααΌαααΆαααααΆαα αααΎαααΆαα α₯α‘αΌααααααΎαααΉααααΈααΆα’ααα αΎαα αααααΆααααΈααα Amazon RDS ααΉααααααΉαααααΆαααΆααααα α αΎαααααΎαααΆαααααΆααα α»ααα ααΈαααα ααΆαααΏαααααΆαααααα½αα’αααΈαααααααααα»αααα αΆααααααΎαααααααααααΆαα½ααααα αΆαααα αααααααααΌααααΈααααααααα ααα»ααααααααα·αααΆαα’αααΈαααααααΌαααααΎααΆαα½αααΆααααααααααααααααααα·ααααα·ααΆαααα ααΆααΌα ααΆααΆααα½α ααααΆαααααα αααααΆααΏααααααα
α ααα»α’αααΈααΆαααΆααααααααααααααΆααααααΆααΆαααααΆαααααα·αααααΆαααΎαααααααααα ααΉα TLB αααα?
αα»αβα’ααα αααα’αΆα ααααΌαααΆαααααααααΆααα·ααΈααΆα αααΎαα ααα»ααααβααΆαβαα·αβααβαα·αβα²ααβααΆβααα ααΎ PostgreSQL ααΆααααααααα·ααΌα ααααα ? αα αααα αΆααααααΎα ααΆαααα αααααααααααα’αααα αα αΆααααααΆαα αααααααα ααΆααΎαα½αααααΆααααααΆααΆα α¬α’αα ααΊαα·αααΆαααααααααΆαααααα»ααααααα ααΆααα·ααααααΆαα½αααααα αααααα αααα αΆααααααΎαααααααα’αααΈααααααααΆαα α αΎαααααα·αααΎααΆαα’αααα αα αΆαα αααΎα α αΎαα’αααααααΌααααααΎαααααα shared_memory α‘αΎααα·α αααααααααααααααααΆααααααΆααΆαααΉαααΆαααααααα αα αααα»α PostgreSQL ααΆααααΌαααΆααααα αααααΆαααΆαααααααα»αααααααααααα½ααα αααα αΆααααααΎα α αΎααααα αΎαααΆααΆ α αΎααααααΆααααααααΆαα’αααΈαα·αααααΎαα‘αΎααα ααΈαααααα α’αααβα’αΆα βααααΎβααΆβααΆα ααα»ααααβααΆβααΆαβα±ααΆαβααα½αβααΆαβααΆαβααΌα βααΆαβαα shared_memory αα βαααβααΆβαααα ααβα’αααΈβαα½αβα‘αΎαβαα·αα PostgreSQL αα·αααΉαα’αααΈααΏααααααα
ααααα: www.habr.com