Vps
Posgres:雖然伺服器更好,但性能降低了 :(
我已經更好地改變了我的 VPS 託管,並看到性能顯著下降。
前 :
AMD 8 cores@2.8Ghz, 16 GB RAM, Ubuntu 14.04, Postgres 9.4, Pgbouncer 1.7, SSD 80Mb/s
後:
Haswell 4 cores@2.4Ghz, 24 GB RAM, Ubuntu 16.04, Postgres 9.6, Pgbouncer 1.7.2, SSD 180Mb/s
我的應用程序監控性能 (NewRelic) 顯示 SQL 響應時間增加了 100%:
配置文件相同(我使用 Ansible 進行自動化部署)。我用 對網路進行了基準測試
iPerf
,速度相同。我對兩個 VPS 都進行了 ping 操作,新伺服器失去了 2.5 毫秒(不是同一個數據中心,對我來說似乎沒問題)。讓我發癢的是伺服器資源沒有被最大化:
最後但同樣重要的是,為什麼會有這麼多空閒連接?我缺少什麼設置來提高性能?
編輯 1
前:
bonnie++ -u postgres -d /tmp/ -s 4096M -r 1096
http://pastebin.com/mBi8UstPstream
http://pastebin.com/xrLN9Q6s後:
bonnie++ -u postgres -d /tmp/ -s 4096M -r 1096
1. http://pastebin.com/hbTrZ8hT(正常白天) 2. http://pastebin.com/h8PYQxiw(週日晚上)stream
http://pastebin.com/fDm9aNDh編輯 2
之前,ping:
root@vps170028:~# ping vps166893.ovh.net PING vps166893.ovh.net (149.202.33.76) 56(84) bytes of data. 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=1 ttl=63 time=0.490 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=2 ttl=63 time=0.504 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=3 ttl=63 time=0.541 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=4 ttl=63 time=0.520 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=5 ttl=63 time=0.501 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=6 ttl=63 time=1.12 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=7 ttl=63 time=0.538 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=8 ttl=63 time=0.723 ms 64 bytes from 76.ip-149-202-33.eu (149.202.33.76): icmp_seq=9 ttl=63 time=0.488 ms ^C --- vps166893.ovh.net ping statistics --- 9 packets transmitted, 9 received, 0% packet loss, time 7999ms rtt min/avg/max/mdev = 0.488/0.603/1.126/0.198 ms
之後,ping:
root@vps170028:~# ping vps332984 PING vps332984.ovh.net (51.255.200.128) 56(84) bytes of data. 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=1 ttl=57 time=5.32 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=2 ttl=57 time=5.23 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=3 ttl=57 time=5.24 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=4 ttl=57 time=5.32 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=5 ttl=57 time=5.11 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=6 ttl=57 time=5.35 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=7 ttl=57 time=5.17 ms 64 bytes from 128.ip-51-255-200.eu (51.255.200.128): icmp_seq=8 ttl=57 time=5.46 ms ^C --- vps332984.ovh.net ping statistics --- 8 packets transmitted, 8 received, 0% packet loss, time 7007ms rtt min/avg/max/mdev = 5.110/5.278/5.462/0.132 ms
編輯 3
之前和之後對 table1 的選擇查詢的性能,相同的吞吐量。
我已經遷移回我的初始伺服器,這消除了:
- 由於伺服器原始特性導致性能下降
- 由於網路延遲導致性能下降
該問題純粹是由於以下之一或兩者之間的相互作用:
- Ubuntu 16.04.1 LTS
- Postgres 9.6.1
- pgbouncer 1.7.2
我可能會問一個新問題。