SORU
16 EYLÜL 2009, ÇARŞAMBA


PHP Script eşzamanlı İstekleri

Eğer PHP Motoru zaten sunucuda bir komut dosyası yürütme ortasında ise aynı komut diğer eş zamanlı tarayıcı istekleri ne olacak?

  • İstekleri sıraya alınır?
  • Göz ardı edilir?
  • Her isteği kendi script olacak örnek?
  • Başka bir olasılık?

CEVAP
16 EYLÜL 2009, ÇARŞAMBA


Sunucu yapılandırmasına bağlı olarak, genel olarak hizmet verebiliraynı anda yüzlerce talep-- eğer Apache kullanıyorsanızMaxClientsyapılandırma seçeneği bir deyiş vardır :

MaxClients Yönerge setleri eşzamanlı sayısı sınırı istekleri sunulacaktır.
Herhangi bir bağlantı üzerinden çalışır 2* *sınırı normalde olacak bir dizi göre sıraya ListenBacklog Direktifi.
Bir çocuk bir kez süreç sonunda serbest farklı istek, bağlantı olacak böylece hizmet.


İki müşteri aynı sayfa isteği aslında bir sorun değildir.

Yani :

İstekleri sıraya alınır?

Hayır ; eğer hariç :

  • bazı varkiliteğer iki kişi aynı istemciden gelirse, mesela şey olabilir, kullandığınız bir yerdedosya tabanlı PHP oturumlarıbir komut idam edilirken, oturum "/istemci ilk istek kadar beklemek zorunda kalacak server bitmiş demektir .", kilitli ^em>(dosya kilitlidosyanın ikinci kullanıcı için oturum açmak için kullanmak mümkün.
  • istekler aynı istemci VE aynı tarayıcıdan gelir; çoğu tarayıcı bile hiçbir şey sunucu tarafında bu davranışları üreten olduğunda bu durumda istekleri sıraya.
  • daha -- Apache kılavuzu alıntı önce MaxClients etkin işlemler vardır.


Göz ardı edilir?

No : bu yalnızca bir kullanıcı aynı anda bir Web sitesini kullanabilirsiniz anlamına gelir ; bu çok güzel olurdu, değil mi ?

Eğer durum böyle olsaydı, aynı anda F5 eğer birisi cevap olmadığını görmek için isabet nerede bu cevap sonrası, ben değil !
(YANİ PHP, ama ilkeler aynı) değildir


Başka bir olasılık?

Evet ^^


OP ve yorum düzenlenmiş sonra düzenleyin :

Her isteği kendi script olacak örnek?

Diye bir şey yoktur "komut dosyası örneği": basitçe, bir komut dosyası için bir istek yapıldığında ne oluyor

  • Web sunucusu çatalbaşka bir işlemisteği işlemek için(genellikle, performans nedenleriyle, bu çatal peşin olarak yapılır, ama bu hiçbir şeyi değiştirmez)
  • süreç diskten PHP komut dosyası okur
    • birçok işlemi aynı anda yapabilirsiniz: dosya okuma kilitleme yok
    • dosyayı her işlem için ayrı bir hafıza bloğunda belleğe;
  • PHP dosya bellekte "derlenmiş" işlem kodları mevcut
  • bu işlem kodları hala süreci isteğinizi yanıtlayan ait bir bellek bloğu -- yürütülür


Gerçekten, iki kullanıcı aynı PHP komut dosyası için bir istek göndermek olabilir(ya da aynı PHP dosyası içeren ayrı bir PHP komut dosyaları için); bu kesinlikle bir sorun var, ya da şimdiye kadar üzerinde çalıştığım web sitesi hiçbiri işe yarar !

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • schmittastic

    schmittastic

    9 EYLÜL 2009
  • Tinkernut

    Tinkernut

    28 Aralık 2006