Vps

Posgres:雖然伺服器更好,但性能降低了 :(

  • November 10, 2016

我已經更好地改變了我的 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%: NewRelic APM 顯示 SQL 從平均 100 毫秒爆炸到平均 250 毫秒

配置文件相同(我使用 Ansible 進行自動化部署)。我用 對網路進行了基準測試iPerf,速度相同。我對兩個 VPS 都進行了 ping 操作,新伺服器失去了 2.5 毫秒(不是同一個數據中心,對我來說似乎沒問題)。

讓我發癢的是伺服器資源沒有被最大化:

伺服器性能監控顯示資源使用率很低

最後但同樣重要的是,為什麼會有這麼多空閒連接?我缺少什麼設置來提高性能?

Postgres 儀表板

編輯 1

前:

後:

編輯 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 的選擇查詢的性能,相同的吞吐量。

特定查詢的爆炸式增長

我已經遷移回我的初始伺服器,這消除了:

  1. 由於伺服器原始特性導致性能下降
  2. 由於網路延遲導致性能下降

該問題純粹是由於以下之一或兩者之間的相互作用:

  • Ubuntu 16.04.1 LTS
  • Postgres 9.6.1
  • pgbouncer 1.7.2

我可能會問一個新問題。

引用自:https://serverfault.com/questions/812702