Sunucu yanıt okuma PHP hızlı bir yöntem

2 Cevap php

Ben yapıyorum, bazı toplu iş veritabanı aramaları için sunucunun yanıtını kapmak için fgets kullanılarak üretilen gecikme ile bazı gerçek sorunlar yaşıyorum.

Ben diyelim ki 10,000 aramaların toplu yoluyla yolluyorum ve her çağrı için yanıt yakaladı gerekiyor gibi benim uygulama hızı tutmak kadar neden fgets aşağı gecikme izledik.

Ben sonraki kısmını almak gibi ben oldukça iyi sorunu açıklayan Konuyu http://bugs.php.net/bug.php?id=32806 bulduk, ama o bir dosyayı okuyor değil, bir sunucu yanıtı böylece fread biraz zor olabilir hat, ve ben istemiyorum ekstra şeyler.

Yani benim soru, fgets alternatif olarak sunucudan yanıt okumak için en iyi / en hızlı yolu nedir nedir?

2 Cevap

file_get_contents (veya stream_get_contents bir akışı varsa) bir sunucunun yanıtını okumak için hızlı bir yol olmalıdır. Eh, veri almak, ama fgets bellekte birden fazla hattı tutmak için gerekmez iken belleğe anda dosyanın tüm okur beri, bellek kullanımı bakarken genellikle en savurgan yolu onun en hızlı yolu.

Sen tanımlayabilirsiniz belirli bir büyüklükte parçalar dosyasını okur fgets daha hızlı ve hangi yanı sıra, hangi fread kullanın.

Veri linewise okuma bağlı ise, file_get_contents daha yavaş olacak () dosyasını kullanabilirsiniz, ama size dosyanın hatları ile bir dizi verir edebilirsiniz.

Vermek için daha iyi bir cevap-yukarıda belirtildiği gibi yukarıda, biz daha fazla bilgiye ihtiyacımız var.

Gerçekten yeterli değil bilgi burada.

Muhtemelen size başka bir şey verileri okumak için fgets aramaları bazı PHP bir yere çalışıyor demek - ama başka bir şey nedir? Bunu ipucu onun değil bir dosya - peki bu ne? Yerel bir program? Bir boru? Bir ağ soket? bir web sayfası? ... Başka bir şey?

Eğer farklı bir araç kullanarak hızlı ondan okuyabilir miyim? Ne denedi? Ne işletim sistemi üzerinde çalışan? Eğer Netcat'i veya benzer çalıştırmak kabuk erişimi var mı?

Bahsettiğiniz "bug" öncelikle bant genişliği adresleme için ise ayrıca lag bahsediyoruz.

Sorun hakkında çok fazla bilmeden onun imkansız bir çözüm önermek.

C.