A. 用php編寫支持高並發的網站,需要做什麼處理
PHP語言開發高並發的網站,需要加緩存,復雜邏輯走消息隊列非同步處理,mysql查詢必須走索引,還搞不定就加機器分流,mysql配置升高並且一主多從,使用codis集群,增加消息隊列的消費者,如果還搞不定就隨機拒絕請求,當然這是最後的退路。
緩存
緩存是避免業務查詢過多的請求mysql,導致業務不可用,段氏根據場景來判斷是否需要使用codis集群,如果並發量沒有達到某個級別,16G的redis也可以,但是要避免redis在高並發下容易發生的緩存穿透,盡量做成高可用,並保證緩存實現的命中率。
消息隊列
這也是高並發情境下的殺手鐧,削峰填谷,將耗時的業務邏輯直接以隊列的形式非同步慢慢處理,防止請求過度積壓,導致的伺服器不可用。
mysql優化
有些場景下必須查詢mysql的,也應該走索引,避免多表聯合查詢,甚至mysql的事務隔離級別都盡量的降低,或者直接去掉事務,採用最終一致性的補償指明機制。升級mysql的配置,核心數和內存的提升對查詢速度的優化是顯而易見的,最好能一步到位的走一主多從,查詢路由到從伺服器上。
隨機拒絕請求
這不是開玩笑,我們必須保證伺服器可用,寧願拒絕掉一些請求,也不能讓伺服器大量請求阻塞握逗散,最終導致大家都用不了。
B. PHP高並發下單用事務可以解決嗎
事物不是解決高並發的。事物是為了一個操作的完整性才使用的。
php的高並發在我看主要以來php腳本的執行速度,以及對資料庫的數據訪問的次數,還有緩存系統的使用(包括數據緩存以及模板緩存),系統架構的優化。
還有就是web伺服器做負載均衡,域名cdn做負載均衡等。
C. PHP做游戲服務端可以達到多少並發
PHP做游戲服務端可以達到並發十萬。
包括使用緩存加速工具,經過優化後web性能有明顯的提高。這是我用壓力測試工具測試的並發數量。
自己下載個軟體來做下壓力測試才能得出較准確的數據,使用nginx更多是用來支持動態頁面,而且還可以做代理和一些限制設置,但論功能而言比apache更廣, apache 更擅長於對靜態頁面的解釋,穩定且比nginx配置更為簡單。
2012年數據:
2012上半年,中國游戲市場(包括PC網路游戲市場、移動網路游戲市場、PC單機游戲市場等)實際銷售收入248.4億元人民幣,比2011上半年增長了18.5%。
2012上半年,中國PC網路游戲市場實際銷售收入(包括了客戶端網游、網頁游戲、社交遊戲及游戲平台的市場銷售額)為235.5億元人民幣,比2011上半年增長了16.9%。
2012上半年,中國自主研發的PC網路游戲市場實際銷售收入為168.6億元人民幣,占網路游戲市場實際銷售收入的71.6%,較2011年同期的63%左右有明顯提升。
D. thinkphp並發量一般多高
thinkphp並發量有105高。核2G1M伺服器原生php並發105左右。thinkphp5.0框架並發量106,CPU使用率到達70%,受限於帶寬,可以達到更高的並發。
E. php闈㈣瘯闂騫跺彂閲忓氬皯
php闈㈣瘯鏄岀氦闂騫跺彂閲10銆侾HP闈㈣瘯涓錛屽苟鍙戦噺鐨勯棶棰橀渶瑕佹牴鎹涓氬姟鎯呭喌鏉ュ喅瀹氥備竴鑸鏉ヨ達紝涓鍨嬮」鐩鐨勫苟鍙戦噺鍦4-8涔嬮棿錛岃屽ぇ鍨嬮」鐩鐨勫苟鍙戦噺搴旇ュ湪10鎴栦互涓娿傝繖鏍鋒墠鑳戒繚璇佺郴緇熺殑紼沖畾鎬у拰鎬ц兘銆傚悓鏃訛紝榪橀渶瑕佽冭檻璁╃毊鍒扮綉絝欑殑鎵╁睍鎬э紝濡傛灉涓氬姟閲忚愭粦浠垮炲姞錛岄偅涔堝苟鍙戦噺涔熷簲璇ョ浉搴斿炲姞銆