我需要做什麼才能使每秒鐘的20k mysql插入成爲可能(在較慢時間內,在1k/sec的高峯時段)?我一直在做一些研究,並且看到了「INSERT DELAYED」建議,寫入一個平面文件「fopen(file,'a')」,然後運行一個chron作業將「需要」的數據轉儲到mysql等。我也聽說你需要多個服務器和「負載平衡器」,這是我從來沒有聽說過的,做出類似這樣的工作。我也一直在研究這些「雲服務器」的東西,它們的自動擴展性,但不確定實際可擴展性。PHP的最佳做法,每天跟蹤數百萬的展示次數
的應用僅僅是一個跟蹤腳本,所以如果我有100個網站,拿到3萬的頁面加載一天,有那麼一天大約3億插入。數據將通過一個腳本運行,腳本每15-30分鐘運行一次,這將使數據標準化並將其插入另一個mysql表中。
大狗如何做到這一點?小狗如何做到這一點?我買不起一個巨大的服務器了,所以任何直觀的方式,如果有在它會通過多種方式,你聰明的人能想到的。請讓我知道:)
我是n00b,但我不明白爲什麼20k ins/sec是必要的?你不能只在PHP中的數組中存儲一堆數據,然後用looooooooooong mysql查詢字符串一次插入(n)行嗎?這會減少原始插入的數量。雖然我認爲處理時間仍然是個問題。 : -/ – Drew 2009-12-08 03:10:32
從我讀的,它不是在一個腳本20K /秒。但是,20K /秒來自多個請求。 – ariefbayu 2009-12-08 03:26:19
如果您還沒有真正開始實際開發網站,並且您目前只收到您期望的一小部分流量,那麼不要擔心優化的細節,直到您開始看到需要的增長和規模爲止。在真正需要之前,發展的最大缺陷之一就是過度優化。大部分的大魚開始在一個小池塘裏。只是我的建議。 – 2009-12-08 03:38:37