2006/12/13

我太高估伺服器的能耐了...= =

上一篇提到的Flash online game
最近正在如火如荼的測試當中
原本一直以為效能的瓶頸會是在 Flash 的 Client 端
是沒錯 當同一場景人物超過20人時候 會有一些lag的感覺
不過都是在可以接受的範圍....
不過真正嚴重是 Server 完全撐不住....= =
當20人同時動作時... Server CPU 會吃到滿持續快半分鐘...
因為 Server 是 Windows + SQL Server + Java + asp + iis
通通都是又慢又吃資源的怪物....= =
不要問我為甚麼要選擇這樣的平台... 不是我能決定的@@

寫 Server 端的目前改的快趴下去了
目前已經將 SQL Server 全部做了 Cache
java 中也做了一堆快取....
用的演算法跟資料結構也都最佳化了...
網路封包及設定的調整也都做了...
Server 的 Loading 還是降不下來...

接下來就是要拆 Server 的架構了
不能把東西全部放在一台電腦上...
等明天另一台電腦來...
第一件事就是先把檔案 跟Connect Server分開
一台電腦負責檔案( Flash 跟 音效 圖檔 等)的下載(用Apache)
同時負責 asp 的部份,用於檔案上傳跟一部分的SQL Command(用IIS)
這兩部份放在原來的電腦上 這樣改最少 程式幾乎不用動
另外把 DataBase 跟 Java 的 Server 搬到另一台電腦
專門做資料的處理...
把負載分開 估計可以增加1.5倍的效能吧...
至少可以解決檔案讀不到的問題

再來是備案...
把 Server 端換成 linux + MySQL
再來就是架多個 Server
並且在連線時可以選擇要加入台伺服器
每台連線到的 Server 都有兩台電腦 分別做前景跟背景運算
不過這是二期再來考慮吧 現在想辦法結案就是了

越來越有寫online game的感覺了...

0 comments:

 
Back to Top
This Site Power by JoStudio. Some Rights Reserved.