Posgres:尽pipe服务器更好,perf降低:(

我已经改变了我的虚拟主机更好,看到一个有意义的性能下降。

之前: AMD 8 [email protected], 16 GB RAM, Ubuntu 14.04, Postgres 9.4, Pgbouncer 1.7, SSD 80Mb/s

After: Haswell 4 [email protected], 24 GB RAM, Ubuntu 16.04, Postgres 9.6, Pgbouncer 1.7.2, SSD 180Mb/s

我的应用程序监视性能(NewRelic)显示SQL响应时间增加了100% NewRelic APM显示SQL从100ms平均爆炸到250ms

configuration文件是相同的(我使用Ansible进行自动部署)。 我用iPerf对networking进行了基准testing,速度也一样。 我已经ping了两个VPS,我已经失去了2.5毫秒的新服务器(不一样的数据中心,似乎对我来说确定)。

什么使我发痒的是,服务器资源没有被刷新:

服务器性能监视显示资源使用率一切都很低

最后但并非最不重要的是,为什么这么多空闲的连接 我缺less什么设置来提高性能?

Postgres仪表板

编辑1

之前:

  • bonnie++ -u postgres -d /tmp/ -s 4096M -r 1096 http://pastebin.com/mBi8UstP
  • stream 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

之前,平:

 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之前和之后的select查询性能,相同的吞吐量。

爆炸一个特定的查询

我已经迁移回到我的初始服务器,这消除了:

  1. 由于服务器原始特性导致性能下降
  2. 由于networking延迟而导致性能下降

这个问题纯粹是由于以下两者之一或之间的相互作用:

  • Ubuntu 16.04.1 LTS
  • Postgres 9.6.1
  • 1.7.2

我可能会问一个新的问题。