全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1345
推到 Plurk!
推到 Facebook!

請問大家對於client/server架構的看法

尚未結案
a02
一般會員


發表:10
回覆:4
積分:2
註冊:2004-01-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-17 20:01:23 IP:211.75.xxx.xxx 未訂閱
請問大家對於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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-17 22:44:16 IP:61.62.xxx.xxx 未訂閱
使用 web 的方式是比較理想的, 由於 client 是利用 adsl 上網來存取資料, 用 web 應該比使用保持 connection 的 client/server 的架構來得理想. 不使用 web 的原因為何呢?
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-18 01:38:13 IP:61.64.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-18 20:27:53 IP:61.229.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-19 01:37:50 IP:218.175.xxx.xxx 未訂閱
不管是兩層或多層式,一定要減少存取的資料量及資料主機的運算,因為資料庫主機硬碟及cpu I/O滿載的話,什麼都跑不動,多層式架構好處是在於可以把運算分散,建議您可以將即時輸出入作兩層式,報表及查詢等非即時反應的可用多層,而如何分層需要實作的經驗,所以自己試看看或許過了一段時間您通了,就可可以交替使用自如了,好比程式通通自己寫是最單純,分給其他人寫可能會更快或更糟,端看您技巧熟悉度來評估適合的方法,沒有最好的方法,除非用〔銀彈〕
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-09-19 20:14:45 IP:211.162.xxx.xxx 未訂閱
小弟也對這個問題疑惑很久了,先轉貼一篇文章: 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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-09-20 09:08:08 IP:203.69.xxx.xxx 未訂閱
謝謝各位的說明, 我的想法是,現階段Client的pc等級(P3或P4)都很高,應足以進行各項運算及處理,我可以將有所有的程式 寫在Client端程式上,連接資料庫的部份我想說只用ADOCONNECT及ADOQUERY二個元件直接下SQL的語法去存取 資料庫內的資料到PC端進行處理,這樣子的效率會不會比n-tiers中的AP-server集中運算的效率好呢? 謝謝大家!!
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-09-20 17:09:53 IP:61.218.xxx.xxx 未訂閱
如果純就架構來說,是可以的.因為我的系統也是這樣做的,中間的ApServer其實就是單純做後端與前端的資料交換而已.運算的部分,要嘛在client,要嘛在DB的StoreProcedure裡.效果不錯,也滿穩的.    至於ApServer要用ADOConnect或TDatabase或其他都無所謂,重點是與資料庫搭配時有好的表現即可.    
引言: 謝謝各位的說明, 我的想法是,現階段Client的pc等級(P3或P4)都很高,應足以進行各項運算及處理,我可以將有所有的程式 寫在Client端程式上,連接資料庫的部份我想說只用ADOCONNECT及ADOQUERY二個元件直接下SQL的語法去存取 資料庫內的資料到PC端進行處理,這樣子的效率會不會比n-tiers中的AP-server集中運算的效率好呢? 謝謝大家!!
系統時間:2024-06-29 10:52:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!