我有一個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'來捕獲線路上的請求。肯定不正常。 –