Ben bizim çekirdek sistem tarafından oluşturulan girdi dosyalarındaki verileri analiz eden bir uygulama var. Istemci bağlı olarak, bu dosya (dosyalar vb tıklamalar, gösterimler gibi online pazarlama ölçümleri içerir.) Boyutu değişebilir. Müşterilerimizden biri trafik oldukça büyük miktarda alır, bir web sitesi var, ve oluşturulan metrik dosyaların boyutu yaklaşık 3-4 megabayt vardır. Bu uygulama şu anda her dosya farklı bir zaman agrega olmak, bir anda üç dosyaları analiz eder.
Ben bir CSV yineleyici kullanarak dosya okuyorum, ve çok boyutlu diziye tüm dosya içeriğini saklar. Özellikle dosyalardan biri için dizisi her altdizilim 31 elemanları olmak uzun etrafında 16000 unsurlar vardır. Yükleniyor bu verileri işleyen dataprocessor nesne belleği 50MB hakkında kullanır. Şu anda PHP bellek limiti 100MB ayarlanır. Ne yazık ki bu uygulama üzerinde sunucunun eski ve bir bellek artışın çok işleyemez.
Yani bu soruya getiriyor: nasıl bir dosyayı bu boyutu işleme optimize edebilirsiniz?
Olası bir optimizasyon, dosyanın bölgelerinde okuma, tekrarlama, mağaza hesaplayabilirsiniz?