iT邦幫忙

0

請問WEB-BASE ERP〈.net開發基於iis+sql〉發出查詢資料時iis還是SQL SERVER在運算?

公司用的WEB-BASE ERP查詢很慢〈.net開發〉,基本架構是iis+SQL架於同一台SERVER,現想把IIS與SQL分開架設於兩台SERVER做N-tier,請問當WEB發出查詢資料時iis與sql的主機哪個運算負載會較大?該加強哪台主機效能?

16
賽門
iT邦超人 1 級 ‧ 2010-11-24 08:27:53
最佳解答

n-tier架構...
如果是寫在ASP.NET中, 是在Application Server運算, 也就是在IIS上, 但也有人把job寫成在Client端運算(就是寫在Javascript中), 這樣就是Browser端執行
如果寫成SQL Server CRL, ASP.NET呼叫CRL執行, 是在SQL Server上運算...

pantc328 iT邦研究生 1 級 ‧ 2010-11-24 10:21:18 檢舉

ERP每人寫法都不同.
光是邏輯就可以寫在很多地方.

資料邏輯層SP.
企業邏輯層BL.
UI邏輯層UL.
做大量的資料運算當然寫在SP裡.
寫企業物件實體,企業複雜流程,呼叫上游廠商,下游客戶的Web Service..寫在Web Service主機裡.
做資料輸出入驗證,動畫,I/O機台控制..寫在UI邏輯層.
反正看需求去做.看需求去擴充.

以前我去面試,面試官就問我什麼寫在什麼地方,那個面試官態度非常囂張,我就故意全部答案寫跟他完全相反.

rexlai iT邦新手 4 級 ‧ 2010-11-24 18:53:37 檢舉

小弟只懂一些粗淺的操作,現在遇到的問題是,該erp是用ie當client,再開啟各項功能時會頓噸的,要等一下才會出現,但執行過後再回去就比較快些;再key單時打資料也是要一下子才會撈回資料,做查詢列印時就更慢了,尤其是有人要查詢時等同當機,才會想說是不是要加強一下主機效能並把ap與sql分開看會不會改善,只是想知道查詢運算時是哪個服務iis或sql在做處理。

6
lordrd
iT邦新手 2 級 ‧ 2010-11-23 23:25:13

是硬體的問題嗎 ?
機器規格 ?
記憶體太少 ?
硬碟太舊? 太小?
要不然 應該放在一台就很夠了~
還是你的連線數超多 ?

若真的要分開 考慮效能的話~
建議 IIS 裝兩片網路卡 一片接 Internet 一片接 SQL Server

rexlai iT邦新手 4 級 ‧ 2010-11-24 18:59:57 檢舉

server只連內部沒連internet,同時連線數不超過10人,是用ibm server xeon cpu+4gb ram ,用giga lan,照理應該夠用才是,真不知道在慢什麼,資料也沒幾筆呀....

8
pantc328
iT邦研究生 1 級 ‧ 2010-11-24 08:37:10

Windows 工作管理員->處理程序.
就可以看到IIS和SQL相關處理程序所佔的資源,如CPU,記憶體..
缺什麼補什麼...

IIS只是做一些網路的Request,Resopnse和一些路由的動作,看他要路由到哪個Web Service去做.
反正很複雜,不是你說的三言二語就知道哪個負載大.有時要去看AP,SQL指令,資料庫規劃,資料量大小..綜合評估才能做決定.

rexlai iT邦新手 4 級 ‧ 2010-11-24 18:56:24 檢舉

小弟公司的erp不連internet只有連內部的網路,都在同一網路區段,這樣應該要注意什麼?煩請指教。

0
aptx1596
iT邦新手 4 級 ‧ 2019-08-09 00:59:51

自己有寫過一套完整的ERP系統,現在也在維護別人家的產品,一些實戰經驗分享:
輸入用的表單資料,不要在畫面上Show任何的計算結果,特別是加總的結果...
例如:請款金額打完之後,就要立刻在畫面上顯示截止本期為止加總金額,
這時如果你用VIEW/SP/SQL來達成要求,作業的LOADING就在SQL,
你用程式碼走迴圈來達成要求,作業的LOADING就在AP。
但是,我現在使用中的ERP系統顧問,遇到這種需求都是直接回客戶,
我另外做一個查詢畫面,這個查詢畫面目前無條件開啟時間已經來到一分鐘了。

 所以,正確作法是要挖欄位來存放這些計算結果,於每次關聯表單異動時,
       自動計算單一項目回寫計算結果。   但是怎樣可以做到模組化、規模化回寫,
       就不是這家系統業者強項了,計算結果回填的計算邏輯散得到處都是。  
   

我要發表回答

立即登入回答