美好的一天。PHP,javascript,ajax - 2位用戶之間的溝通
我需要這樣做:
當用戶X按下一個按鈕,用戶Y看到的照片。在此之前,用戶Y什麼都看不到
我這樣做是這樣的:我在一臺mysql服務器上創建了一個數據庫,並創建了一個包含照片和標誌的表格。當用戶X按下按鈕時,我發送一個ajax請求並將標誌更改爲相應的照片。用戶Y也每1秒發送一次Ajax請求,以查看是否有任何改變。
聽起來不錯,看起來不錯,工作...它的確如此,但確實如此。當100000個用戶每1秒發送1個Ajax請求時,服務器崩潰。先用mysql服務器再用apache。
所以......我的問題是有沒有這麼多的Ajax請求呢?就像發送頁面某個「事物」,告訴瀏覽器保持相同的套接字並稍後發送圖像?像流一樣的東西,而不是圖像是HTML頁面/圖像/無論什麼。
我知道java applet將是一個解決方案,但我需要一個php(用於服務器端)+ js(用於客戶端)解決方案。
是的,我知道我可能會得到一個「你不能」的答案,但它值得一試。
是否必須每隔1秒?大概3秒鐘?這會立即將負載減少到1/3 - 如果它會以100,000個用戶的速度崩潰,那麼可以使用(理論上)30萬個用戶。 – 2011-04-12 08:29:28
其實我需要在0.5 ... 1的請求是妥協。此外,我還增加了一次清理時間...每隔120秒10秒,用戶不發送任何東西...仍然不好。 – zozo 2011-04-12 08:30:30
你有可能使用HTTPS嗎?我問這是因爲你隨後在每臺客戶端計算機上都有一個安全通道,因此能夠將異步響應發送回客戶端。 – 2011-04-12 08:33:27