2010-11-18 22 views
2

Bazı URL'lerin durumunu kontrol etmek için php olarak curl_multi_exec kullanıyorum. Bunu ölçmek istiyorum ki, belirli bir sistem için, kıvırmaya başlamadan önce kaç işleyicinin eşzamanlı olarak kontrol edebileceğimi biliyorum. Kapasitenin nasıl ölçüleceği konusunda herhangi bir deneyimi var mı?curl_multi_exec hangi dişleri kullanıyor?

sayesinde

Adam

+0

'netstat' kullanabilir ve açtığı etkin bağlantı sayısını izleyebilirsiniz. Ardından netstat sayımını düştüğünden emin oluncaya kadar url sayısını artırın ... – ircmaxell

+0

Evet, bunun hakkında düşündüm ama çoğu url, yarım saniyeden daha az bir sürede geri dönecek. Bir deneyeceğim, teşekkürler! –

+0

Eh, aynı sunucuda (veya başka bir yerel) bir site oluşturun. Sadece 60 saniye kadar uyuyan bir sayfa oluşturun. Ardından bu sayfaya bir ton bağlantı açın. Netstat'tan anlamlı çıktı elde etmek için yeterince uzun olmalı, ancak yine de kolay ve hızlı bir şekilde ... – ircmaxell

cevap

2

PHP kaynağının seçme kullandığı kod() ve engellenmeyen okur görebilirsiniz. Bu yüzden sadece bir işlem kullanılıyor.

Eğer fd> = FD_SETSIZE ile bir dosya tanıtıcısı verirseniz select() 'un başarısız olacağını unutmayın. PHP derlenirken FD_SETSIZE limiti tanımlanır. Varsayılan 256 olarak görünüyor. PHP uygulamasında anket() kullanmak daha iyi olurdu.

Hakkında Doğru curl_multi_exec() kullanımı:

curl_multi_exec() curl_multi_select tarafından() takip edilmelidir. Bu, meşgul bir döngüde kontrol etmek yerine mevcut verileri bekler. example in the PHP manual iyi.

İlgili konular