windows平台上php程序處理高併發的解決方法

來源:文萃谷 1.59W

對於處理併發問題,尤其是很多人同時訪問,可能就會出現衝突,併發:説白了就是很多人比如5000人同時訪問訪問某些數據,然後導致衝突。我們靜下心來想想,如果是一個人執行這個數據他是不是就不會出現衝突了,説到底換一下數據的處理方式就可以了。都是數據的處理,只要達到的效果 一樣,處理方式我們可以想其他的。

windows平台上php程序處理高併發的解決方法

接下來就是最重要的步驟了:一般我們遇到的都是數據的處理,可以這樣做,以前都是當用户操作時,直接進行數據的`訪問匹配,那現在我們可以這樣做,把用户提交的數據先集體暫存起來(存入數據庫),然後用統一的方式進行依次訪問匹配,這樣就相當於一個人在操作,就不會出現併發導致的數據衝突問題了。你可能會説,那麼這樣會不會影響-數據的及時性,延遲之類的。這個你可放心,你可以設定一個時間間隔進行自動執行,時間設置可以短一點,效果不會差多少,不會影響系統正常運行。對於自動執行。你可以寫一個exe。

  【拓展閲讀

首先,確認服務器硬件是否足夠支持當前的流量 普通的P4服務器一般最多能支持每天10萬獨立IP,如果訪問量比這個還要大, 那麼必須首先配置一台更高性能的專用服務器才能解決問題 ,否則怎麼優化都不可能徹底解決性能問題。

其次,優化數據庫訪問前台實現完全的靜態化當然最好,可以完全不用訪問數據庫,不過對於頻繁更新的網站, 靜態化往往不能滿足某些功能。

緩存技術就是另一個解決方案,就是將動態數據存儲到緩存文件中,動態網頁直接調用 這些文件,而不必再訪問數據庫,WordPress和Z-Blog都大量使用這種緩存技術 如果確實無法避免對數據庫的訪問,那麼可以嘗試優化數據庫的查詢SQL.避免使用 Select * from這樣的語句,每次查詢只返回自己需要的結果,避免短時間內的大,儘量做到"所查即所得" ,遵循以小表為主,附表為輔,查詢條件先索引,先小後大的原則,提高查詢效率.量SQL查詢。

禁止外部的盜鏈 外部網站的圖片或者文件盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對於自身的圖片或者文件盜鏈,好在目前可以簡單地通過refer來控制盜鏈,Apache自 己就可以通過配置來禁止盜鏈,IIS也有一些第三方的ISAPI可以實現同樣的功能。當然,偽造refer也可以通過代碼來實現盜鏈,不過目前蓄意偽造refer盜鏈的還不多, 可以先不去考慮,或者使用非技術手段來解決,比如在圖片上增加水印。

控制大文件的下載。 大文件的下載會佔用很大的流量,並且對於非SCSI硬盤來説,大量文件下載會消耗 CPU,使得網站響應能力下降。因此,儘量不要提供超過2M的大文件下載,如果需要提供,建議將大文件放在另外一台服務器上。

使用不同主機分流主要流量 將文件放在不同的主機上,提供不同的鏡像供用户下載。比如如果覺得RSS文件佔用流量大,那麼使用FeedBurner或者FeedSky等服務將RSS輸出放在其他主機上,這樣別人訪問的流量壓力就大多集中在FeedBurner的主機上,RSS就不佔用太多資源了。

使用流量分析統計軟件 在網站上安裝一個流量分析統計軟件,可以即時知道哪些地方耗費了大量流量,哪些頁面需要再進行優化,因此,解決流量問題還需要進行精確的統計分析才可以。我推薦使用的流量分析統計軟件是Google Analytics(Google分析)。若還有其他的流量分析軟件,歡迎共享交流.

熱門標籤