每秒10k请求postgres

时间:2020-04-19 08:46:24

标签: spring postgresql

我有一个spring worker应用程序,它从并发50的Rabbitmq获取消息,并且该消息,spring应用程序检查DB和消息中的变量,并将差异的新结果插入DB(对于一条消息,获取差异,我们将发送约5-20个“选择”请求,1-5个插入,对数据库1-5个更新)。

现在的问题是,spring worker应用程序将并发设置为200时,它上载到DB的速度非常慢。(插入200k消息大约两天)。

此外,我还有另一个用于监视的spring应用程序。一切正常,Db,工作者应用程序,监视应用程序。

如何快速进行优化。我应该使用Postgres集群吗?或者我可以通过其他方式实现它。

我的Postgres服务器(英特尔至强10核,60 GB内存,1.6 TB SSD)

1 个答案:

答案 0 :(得分:1)

您可以使用共享缓存,在应用程序启动时加载数据,在进行更新/创建操作的情况下更新缓存。从缓存中获取所需的任何内容,无需进入数据库