0

我们在 EC2 中有多个服务器和多个数据库实例。在其中一个服务器中,我们有主数据库(主数据库),但在其他服务器中,我们只有事务数据库。我们正在使用 SQL 链接服务器来连接一切。

最初我的基础设施没有问题。但是现在随着数据负载的增加,即使对于正常的选择查询,我也经常收到 Time Out expired 错误。

它不适用于所有过程。如果有 500 个进程在特定服务器上运行,那么至少有 200 个进程会抛出此 Time out expired 错误。

最近,我将所有服务器都移到了 VPC 中。

笔记:

我的所有查询都将仅从主数据库运行,因为只有主数据库知道哪些事务数据库连接到相应的事务请求。所有 EC2 实例都在同一个区域中。

我的问题是否有解决方案(超时错误异常)。请帮助我提出您的建议。这真的变成了一个影响业务的关键问题。

错误消息:

超时已过。在操作完成之前超时时间已过或服务器没有响应。

4

1 回答 1

0

由于它之前运行良好并且随着负载的增加而开始失败,听起来你正在耗尽资源(主要是硬件)。有两件事要做:

1)购买更多硬件;2)调整您的查询以用更少的(硬件)完成更多的工作。

第一件事是(也许)更便宜。要调整您的数据库,需要花费大量时间来学习和测试您所学的任何内容。我建议您采取艰难的方式并尝试优化您的查询/隔离级别/模式等。

于 2013-12-19T16:48:07.800 回答