Üzerinde çalıştığım proje de yaşadığım bir sorun vardı local üzerinde çalışırken bunu fark etmemiştim fakat sunucuya aktardığımda sayfa yüklenme süresi 2-3 saniyelere çıkmıştı sebebini anlayamadım.
Buna sebep olan olayı bulmak için yaklaşık 2 saat uğraştım saçma şekilde sebep olan şey file_get_contents fonksiyonudu.
Önemli olmayan genel ayarlarımı json olarak tutuyorum ve bu dosyaları file_get_contents fonksiyonu ile çağırıyordum. 5-10 Tane dosya da bu hız farkını çok hissetmiyorsunuz fakat benim gibi bir çok sayfayı yüklüyorsanız bunu hissediyorsunuz.
Bende alternatif çözümler aradım ve şu an kullandığım yöntem ile 3 saniye geçikme süresini 0,0080 saniyeye düşürdüm yani katlarcasına hız farkı çıktı ortaya.
Fonksiyon:
function print_xml_data_file($path = "") { require($path); } function get_xml_data($path = "") { ob_start(); print_xml_data_file($path); $xml_file = ob_get_contents(); ob_end_clean(); return $xml_file; }
Fonksiyon kullanımıda şu şekilde:
$file = json_decode(get_xml_data('/json/jsondosyasi.json'),true);
Ben dediğim gibi bunu json dosyalarım için kullanıyorum normal şartlarda kullanma şekli json_decode(file_get_contents("siteadresi.com/json/jsondosyasi.json"),true)
bu şekildeydi fakat aşırı derecede hosting’e attıktan sonra bunu fark ediyorsunuz bu arada.
Ağırlaştığı için alternatif bu yöntemi türettim deneyin hız farkına şaşıracaksınız.