我有一个Laravel应用程序,几乎在每个请求中都向SQS发送数据。但是,每隔一段时间,其中一个请求需要几秒钟才能执行。附件是New Relic的堆栈跟踪。看起来,tick()方法(在CURL中)被调用很多次,秒数刚刚累积起来。它似乎也尝试连接到相同的端点,尽管它们是AWS服务,所以我无法想象它们会经常无响应。SQS发布请求速度慢
任何想法为什么会发生这种情况?
我的代码托管在AWS上,位于ELB后面的两个m4.large实例中。通常,应用程序的吞吐量相当低 - 每分钟大约需要50-100个请求。
其他的想法:是,这些实例是在一个私人子网,是有可能在很长的时间要求对SQS端点是一个DNS相关的问题?
你为什么不排队? – sumit
@sumit所以让一个本地队列(redis?)发布到我的远程队列(Sqs)?这是否意味着我的服务器出现瓶颈问题? – djt
如果您使用的是内置的解析器,DNS很难在AWS中破解 - 它在基础架构中具有特殊处理能力,不受安全组和网络ACL的影响,并且不需要NAT即可工作以便DNS解决。如果您正在使用NAT实例,请在NAT实例上尝试一些'tshark'来捕获线路上的请求。肯定不正常。 –