Bir sayfa (PHP, ASP.NET) çalışmasını engellemek için beklerken tüm site engellendi.

4 Cevap php

Gün iyi!

Ben lamba yığını ve ASP.NET hem ilginç davranışı buldum.

Senaryo:

2-3 dakika içinde görevi gerçekleştirirken sayfa (ASP.NET için HttpWebRequest yapma ve PHP için kıvırmak) vardır. Bu sayfayı işlenirken aynı tarayıcı bu sanal konağa bütün diğer istekleri (ben bir makineden farklı tarayıcılarda kullanmak bile) işlenmez. PHP ve C # ile yazılmış iki sayfa kullanın.

I've tested with Apache+PHP in both mod_php and fast_cgi modes on Windows and Debian. For ASP.NET I use IIS6 (with dedicated app pool for this site and with default app pool) and IIS7 in integrated mode.

Ben böyle şeyler için zaman uyumsuz çağrı kullanmak daha iyi olduğunu biliyorum, ama tek sayfa blokları tüm site ve iplik değil, sadece istek işleme neden ben sadece merak ediyorum?

Şimdiden teşekkürler!

4 Cevap

Bu isteği sonuna kadar açık standart php oturum açmak gibi görünüyor. Bu oturum dosya kilitli anlamına gelir. Zaten oturum verileri gerek yoksa en kısa sürede session_write_close () kullanın.

Ben bu siteyi engelleme sanmıyorum; Ben açık bağlantı daha isteklerini yapmaktan müşteri engelliyor şüpheli olur. Size uzun süren isteği devam ederken diğer makineler siteyi kullanmak olamayacağını kanıtlamıştır?

Eğer sadece tek bir istek uygulaması geliyor görürsem aklıma tek şey bir yere boru hattının küresel bir kilittir.

Kilit açık (eğer kilit bildirimde yazdı) veya örtülü olabilir. Birkaç istekleri görebilirsiniz - bu parçacığı havuzu bitkinlik nedeniyle olabilir.

Gelen Web isteklerini işlemek için kullanılan iş parçacığı sayısına kapak ek HttpWebRequest ve üzerinden eşzamanlı giden web isteklerini sayısına ayrı bir kap olduğunu akılda tutmak, varsayılan olarak bu limiti çok düşük - Ben doğru 2 Per hatırlamıyorsam CPU. Ben web.config ayarı adını hatırlamıyorum, ama onu aramak için çalışacağız.

Her durumda kodu gönderirken bize yardımcı olmak için daha iyi bir şans verecek

ASP.NET uygulamaları, hata ayıklama sırasında ben kesinlikle bu davranışı fark ettik, ama ben her zaman sadece bir hata ayıklama yapılandırma sorunu olduğunu varsaydım. Eğer yayın modunda her şeyi inşa ediyoruz ve hata ayıklama web.config kapatmış?