AWS’da Irlanda region’unda VPC içerisinde bir RDS(mysql) örneğim var. Bu RDS’e herhangi bir mysql-client uygulamasıyla bağlandığımda üzerinde çalıştırdığım sorgular çok hızlı dönerken php üzerinden yaptığım sorgular oldukça yavaş dönüyor, sebebini merak ediyorum.
PHP ve Curl versiyonu olarak 7.0’dan sonraki hemen hemen bütün sürümleri denememe rağmen client üzerinden bağlandığım kadar hızlı sonuç alamadım.
Sebebi ne olabilir? PHP, Guzzle, Curl bunlar üzerinde de bir sürü ayar denedim, buffersize’ı yükselttim fakat bir türlü aynı hızı yakalayamadım.
DNS’i daha önce test etmiştim abi. VPC’nin dns’ini vermiştim orada değil problem.
2 tane olası senaryo var kafamda;
OpenVPN üzerinde bir ayar yapmam gerekiyor sorun orada. (OpenVPN instance tipini değiştirmek)
Kod tarafında düzeltilmesi gereken bir ayar var. Bu (Hala bulamadım bu kısmı ve daha az ihtimal veriyorum çünkü aynı ortam ECS üzerinde de koşuyor, production ortamım.)
Yapıyı anlatmam gerekirse localde compose ile 4 tane container ayağa kaldırıyorum, kendi bridge networklerini kullanıyorlar. Bu containerlerdan bir tanesi core ve openvpn makinem ile vpc içerisine girip RDS’den veri çekiyor. Containerların birbirleri ile konuşmasında herhangi bir yavaşlık yok sadece RDS’e atılan istekler cok yavaş dönüyor.
mysql-client ile php, curl ve guzzle bunlar farklı protocoller kullanıyor olabilir mi?
Local ortamımda (MacOS) tcp timestamp kapalı onu da denedim
Çözemezsem rds’i local ortama alacağım ama çok istediğim bir şey değil, teşekkürler cevabın için.
işte onu diyorum. bu çalışıyor dediğin client hangisi ise onu localde çalıştırmak yerine bir container haline getir ve o php uygulaması gibi deploy et. ve sonrasında oradan dene. böylece problemin o docker enviromentla alakalı “openvpn vs.” olup olmadığını anlayabilirsin.
Local’de de ayağa kaldırdım projeyi ve localde de yavaş olduğunu farkettim. Sorun kod ve vpn tarafında fakat çözemedim ne olduğunu, prod tarafında böyle bir yavaşlık söz konusu değil. Araştırmalarım sürüyor, cevap bulabilirsem buraya yazacağım.