如何处理高峰时段的大量数据库交互?

如何处理高峰时段的大量数据库交互?

我们运行的应用程序更像是竞赛组织网站HackerEarth.comHackerRank.com。当任务开始时,我们发现服务器上负载很大。问题是,我们需要与 Postgres 进行大量交互,以便提出随机问题,然后提交答案。多个表之间有 JOINS 以及搜索等,这会导致大量数据流量,并且使我们的系统多次变得缓慢且无响应,这很令人尴尬。

我们可以做些什么来让它变得更好?如何处理与 RDBMS、任何缓存或内存数据库使用频繁交互的事情。我搜索了很多来源,但找不到满足我们需求的具体解决方案。公司如何组织数据库和用户交互?对于这样的模型,有哪些好的架构?任何见解都会有所帮助。

答案1

您需要实施监控来收集指标并使用科学的方法找出瓶颈。

然后您可以规划、实施和测试解决方案。

按要求进行迭代。

答案2

一般来说,你需要注意以下几点

  1. 确保数据库表设计正确且索引完整是至关重要的。

因此,您应该根据存储的数据具有适当的列数据类型,以及用于 SELECT/JOIN 的列上的索引。

  1. 对于不需要在每次页面加载时更新的数据使用缓存。

  2. 为数据库引擎分配适当的资源。确保它获得适当数量的实际内存,并且不使用交换。

不可能有像这样的具体来源how to do it exactly,因为这完全取决于您的特定应用程序和您存储的数据。

相关内容