/ Debug / fix PHP eşzamanlılık sorunlarını test etmek Araçları?

3 Cevap php

Kendimi PHP memcached bazı nispeten gelişmiş şeyler yapıyor bulabilirsiniz. Bu düşünmek ve önbellek kilidi serbest doğası nedeniyle yarış koşulları ve eşzamanlılık sorunları çözmek için zihinsel bir mücadele oluyor.

Bu eşzamanlılık (ipler, herkes?) Geldiğinde PHP araçları oldukça kötü görünüyor, bu yüzden düzgün / debug Bu test etmeye orada herhangi bir çözüm olup olmadığını merak ediyorum.

Ben iki kullanıcı aynı anda aynı paralel süreçleri çalıştırmak ve kafamı çizilmemesi beni bırakın, ya da bir clusterfsck içine kartopu kadar ben hiç fark olmayabilir bir eşzamanlılık sorunu neden olur iki komut istemek kadar beklemek istemiyorum.

Herhangi bir sihirli değnek PHP eşzamanlılık ben bilmeli?

3 Cevap

PHP çoklu iş parçacığı için tasarlanmış bir dil değil, ve ben hiç olacak sanmıyorum.

Eğer muteksin işlevselliği gerekiyorsa, PHP içeri derleme bir Semaphore işlevleri vardır

Memcache no muteks yeteneği vardır, ama Memcache::add() yöntemi kullanılarak taklit edilebilir.

Bir MySQL veritabanı kullanıyor, ve yarış durumu yolsuzluk çeşit önlemeye çalışıyor iseniz, lock tables deyimini kullanabilir, ya da transactions kullanın.

Aynı anda birden isteklerini yapabilirsiniz yük test aracı ile kod vurma deneyebilirsiniz. Jmeter akla geliyor.

Değil özellikle bu sorun için ama: FirePHP?