請問大家對於client/server架構的看法 |
尚未結案
|
a02
一般會員 發表:10 回覆:4 積分:2 註冊:2004-01-02 發送簡訊給我 |
請問大家對於client/server架構的看法:
1.我的資料庫主機是Informix 7.3.1(Unlimited User),作業系統是Solaris 8。機器是Sun Sparc。
2.現階段公司不使用Web 的方式,也無法使用3 Tiers的方式連接。(不使用Windows Ap Server)。
3.使用者端均是windows98 及windows2000 Pro。
4.使用者分佈在全省各地,以adsl連線方式進行。
在上列條件下,我就選擇使用ADO Informix SDK Delphi的Client/Server架構了。
但我的問題有下列幾點,請問各位先進:
1.以現有的環境下,我的C/S同一時間資料庫主機可連接的使用者數大約是多少?是以什麼為依據的?
2.我要如何得知現有連接的使用者資訊(誰、何時.....)?
3.這種架構實務上到底會不會有問題啊?(很多書都說會)。
4.這種Clent/Server和3 Tiers的架構相比,(假設我有100個user)到底誰的執行效率好呢?
5.我這種決定到底未來有沒有競爭力啊(未來上線時會不會有問題呢)?
謝謝大家。
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=56008
這種Clent/Server和3 Tiers的架構相比,(假設我有100個user)到底誰的執行效率好呢 3t 最終目的地就是要往叢集擴展
C/S 最高50人 我看server不當很難 (同時喔)
3t 應該說100人就算撐不住 馬上再擴充n台 (看口口) Solaris 8 用c/s算有點浪費 這樣百萬級起跳
高檔的server 很多遊戲主機都用他
至於一台主機可以撐多少人 就看資料的吞吐量計算
不管是 c/s或3T 主機90%當掉不是資料庫當
是cpu跟本無法同時處理這麼多的需求量 所以效率就算好無法承載 不如選擇 擴充快穩定較佳為首選
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
1.同一時間連接的使用者數,就看你的DB是買多少client的使用者而定.
2.如果你要走c/s,那麼要知道現在有誰上線,就要從資料庫著手.我沒有用過infomix,但一般資料庫都有提供目前是那個帳號連上線的查詢服務才是.
3.c/s與n-tire會不會有問題,很難說.但我覺得會有問題,是因為程式的構架不好,沒有辦法承受多上同時線上作業所造成的.
4.c/s與n-tire的執行效率,我覺得都一樣.重點還是你的程式構架穩不穩.減少不必要的資料在網路上跑,減少不必要的連線次數,這樣你的程式反應就可以感覺快一些.
5.至於未來的競爭力,我覺得這個範圍很籠統.如果真的要往後看,應該是系統後續的擴充性與再利用性.如果可以預先知道以後系統可能還會有什麼需求,對於這樣的需求可以的話儘量預留彈性.我想到的就是這樣 建議:
因為你的client端是以ADSL連線的,換言之,client端的頻寬應該不會太大.建議你的系統其實還是可以走3-tire的架構,就是Borland目前的3-tire的架構(DB<-->ApServer<-->SocketServer<-->Client).安裝ApServer的機器用桌上型的PC就好了,而數量可以依你client端的數量來決定.以100個client端來估算,了不起5台ApServer就夠了.另外一個原因,如果你的client數目很多,那麼3-tire將是你省錢唯一的選擇. 系統在規劃時,每個form在讀取資料時,千萬不要整個table抓下來,你的網路會承受不住.而報表的部分,如果需要統計大量資料的,可以用Store procedure來解決(你的主機效能不錯,不要浪費了). 供您參考
引言: 1.以現有的環境下,我的C/S同一時間資料庫主機可連接的使用者數大約是多少?是以什麼為依據的? 2.我要如何得知現有連接的使用者資訊(誰、何時.....)? 3.這種架構實務上到底會不會有問題啊?(很多書都說會)。 4.這種Clent/Server和3 Tiers的架構相比,(假設我有100個user)到底誰的執行效率好呢? 5.我這種決定到底未來有沒有競爭力啊(未來上線時會不會有問題呢)? 謝謝大家。 |
suda
一般會員 發表:17 回覆:63 積分:16 註冊:2002-05-10 發送簡訊給我 |
|
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
小弟也對這個問題疑惑很久了,先轉貼一篇文章:
http://dev.csdn.net/article/35/35992.shtm
Delphi多層開發方案比較 速度與效率測試:
結果分析: 兩層的效率當然是最高的;這樣選擇三層方案時就可以在伸縮性和性能之間做權衡,選擇最優方案
DCOM針對本機運算可能做過優化,太快了,傳輸的位元組數也太少了
Socket Connection的效率實在不敢恭維,比RemoteObject使用SOAP傳輸還低
RemoteObject使用二進位傳輸的效率大概是使用SOAP的2-3倍
RemoteObject使用二進位傳輸基本能達到甚至超過Socket Server的性能
RemoteObject的壓縮好像沒什麽用
Asta性能比RemoteObject和Midas都高,但這個結果是設置了ADOQuery的CacheSize=1000時取得的,其他的測試都沒有專門設置該屬性 * 以上測試涉及文件都在附件中的測試包中;都是連接的本機(localhost);空白的是沒有做測試的 * 傳輸位元組數測量都是用的CommView 4.1 IP包檢測捕獲軟體,監測“Loopback”(127.0.0.1)設備;CommView軟體安裝見測試包的tools目錄;位元組數包括實際傳輸的資料和IP握手資訊等,如果大於10K,則只保留到千位,可能每次測量會有一點點區別。 * 測試所花時間時CommView停止捕獲IP包,測試3次左右,取中間值 * 測試計算1000次1+1=2:
中間都是實現類似以下方法:
function Sum(a, b: Integer): Integer;
begin
Result := a + b;
end; 其中RemoteObject 2、3的測試程式直接用的它自帶的MegaDemo例子,執行文件分別見測試包中的“1+1=2\RemObjects SDK 2”和“1+1=2\RemObjects SDK 3”目錄,後者是試用版,運行前需要先允許Delphi(不知道還有沒有其他限制),測試時都是設置的使用Indy;Midas和DCOM的測試是自己寫的程式,根源程式和執行文件測試包中的“midas”目錄。
小弟的疑問是:n-tire和c/s相比,它的優勢在那裏(速度好像不占優啊),劣勢在那裏?在什麽時候可以考慮採用這種構架。敬請各位先進提攜一下我,謝謝> =================================
<>人生在勤,不索何獲>
<>業精於勤荒於嬉,行成於思毀於隨>
<>臨淵羡魚不如退而結網>
------
人生在勤,不索何获? |
a02
一般會員 發表:10 回覆:4 積分:2 註冊:2004-01-02 發送簡訊給我 |
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
如果純就架構來說,是可以的.因為我的系統也是這樣做的,中間的ApServer其實就是單純做後端與前端的資料交換而已.運算的部分,要嘛在client,要嘛在DB的StoreProcedure裡.效果不錯,也滿穩的. 至於ApServer要用ADOConnect或TDatabase或其他都無所謂,重點是與資料庫搭配時有好的表現即可.
引言: 謝謝各位的說明, 我的想法是,現階段Client的pc等級(P3或P4)都很高,應足以進行各項運算及處理,我可以將有所有的程式 寫在Client端程式上,連接資料庫的部份我想說只用ADOCONNECT及ADOQUERY二個元件直接下SQL的語法去存取 資料庫內的資料到PC端進行處理,這樣子的效率會不會比n-tiers中的AP-server集中運算的效率好呢? 謝謝大家!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |