Forum
Merhabalar,
Almanya lokasyonlu hosteurope.de firmasından VPS hizmeti almaktayım.
Sistem Özellikleri: Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz, 4 vCores, 8 GB Ram, 250 GB SSD, Linux, Centos 6.5, Plesk 11.0.9, Mysql InnoDb
Firmanın ping hızı (68 mms), ssh bağlantı hızı ve ftp hızı gayet normal.
VPS üzerinde sadece 1 adet web sitesi bulunmakta. 15K tekil, 40K-60K sayfa gösterimi yapılmakta.
Web sitesi tamamen kendi kodlamam (php,mysql) ve hazır hiç bir kodlama kullanmadım. Minimum düzeyde mysql query ile sistemi çalıştırıyorum.
Database de gerekli tüm index anahtarlarını düzgün şekilde oluşturuldum ve sorgularda da index sıralamasına vs dikkat ettim.
Shell den top ile baktığımda sistem kullanımım cpu ve ram olarak aşırı kullanım gözükmemekte. örnek:
Ama gel gelelim site gün içinde 3-8 saniye beklemeden sonra siteye giriş yapıyor.
Aklıma gelen yavaşlığa neden olabilecek şeyleri test ettim ama bir türlü bir çözüm bulamadım.
Yaptığım testler ve sonuçları:
1) Nameserver bağlantımda bir yavaşlık varmı önce ona baktım. IP ile direk bağlandığımda da site aynı yavaşlık söz konusu. Geceleri örneğin 03-05 gibi site ziyaretcilerinin az olduğu zamanlarda site tekrar hızlanıyor ama gün içinde yavaşlık söz konusu.
2) sitede hiçbir mysql bağlantısı olmayan bir sayfa oluşturdum (düz html sayfa) ve bu sayfada da aynı yavaşlık sorunu var. 3-8 saniye bekleyip sonra giriyor siteye. (mysql ile ilgili bir yavaşlık söz konusu değil bu sayfa için)
3) sayfalara bağlı js leri devre dışı bırakıp tekrar mysql bağlantısı olmayan html ile bağlandığımdada yavaşlık sorunu devam ediyordu.
4) yavaş sorguları kaydetmek için log oluşturdum. yavaş çalışan 1 adet sql sorgun vardı onuda düzelttim.
5) hotlink ile dışardan resim,js, vb dosyaların çekilmesini htaccess ile engelledim.
6) VPS im daha önce normal HD de iken SSD harddisk e yükselttim.
7) intoDNS.com dan site verilerinde herhangi bir hata gözükmemekte.
Yakında hetzner.de veya 1und1.de den dedicated almayı düşünüyorum ama ya sorunum VPS yetersizliği değilse endişesi içerisindeyim. Nihayetinde CPU ve Ram kullanımım düşük. Boşuna fazla ücret vermiş olacağım, belki şu an kullandığım sistem benim için yeterlidir. (Mevcutta ödediğim ücret 25 Euro, Dedicated a geçersem 60 Euro aylık ödemem olacak)
Aklıma gelen şeyler bunlardı ve ne yaptıysam sorunu bulamadım. Bu konuda bana gerekirse ücretli de olsa yardımcı olacak bir arkadaşın desteğine ihtiyacım var. Şimdiden teşekkür ederim.
Herkese iyi çalışmalar.
bilgisayarınız üzerinde traceroute işlemini yaptınız mı.
bilgisayarınız Windows ise cmd üzerinden aşağıdaki komutu yazarak ne kadar sürede sunucunuza ulaştığınızı öğrenin..
tracert site.com
üsteki komutta site.com yerine kendi sitenizi yazınız ve bakınız.. kaç saniyede sitenize ulaşıyorsunuz...
Merhaba,
Öncelikle cevabınız için teşekkür ederim.
işletim sistemim mac os x ve network utility ile trace root sorgusunu yaptığımdaki ekran görüntüsünü aşağıda paylaşıyorum.
Traceroute ile gönderilen paket boyutları net bir sonuç elde etmeniz mümkün değil. Sunucudaki tüm siteleri kapatarak tek bir html dosyalı site çalıştırın sorun halen devam ediyor mu kontrol edin?
serverda 1 site mevcut. onuda kapatmam mümkün değil. geceleri ziyaretci az olduğu zamanlarda site hızlı bunu gün içinde ziyaretcilerin çok olduğu dakikalarda arada takılma gibi yavaşlık söz konusu oluyor. serverda kimse yokken düz bir html çalıştırırsam zaten o ışık hızıyla açar diye düşünüyorum buda bana bir sonuç vermez.
en son cloudflare kurdum. oda fayda etmedi.
Aşağıdaki linkteki perl scripti çalıştırarak öneriler doğrultusunda değişiklik yaparak test edebilir misiniz? Ayrıca sunucu üzerindeki çok fazla mysql sorgusu yapılıyorsa CPU kullanmasa bile disk I/O suna takılıyor olabilirsin.
/usr/local/cpanel/bin/mysqltuner.pl
bende çalışmadı bu kod.
Cpanel de aşağıdaki path üzerinde kurulu sizde CPanel yok bu nedenle kodu kurup ondan sonra çalıştırmanız gerekmektedir.
panelim malesef Plesk 11.0.9
plesk de bu kodun karşılığı nedir?
Uygulama zaten Cpanel tarafından hazırlanmamış. http://mysqltuner.com/ şurada uygulamayı bulabilirsiniz free bir perl script. Çalışması için sunucuda perl kurulu olması gerekir.
Dostum görünen o ki problemin linux tunning ile ilgili, linux işletim sistemi her bir connection için bir file oluşturur, açılabilecek max. file sayısı yetersiz geldiğinde connection açmaz,
Şu işlemleri yapmanı öneririm,
Apache tunning (worker config v.s.)
Kernel parametrelerini düzenle (sysctl.conf) kernel parametre düzenlemesi reboot gerektirir.
Sorunun kaynak değil işletim sistemi ve servis tunning olduğunu düşünüyorum.