各位高手大家好
因為公司的結帳系統會發生在進入系統後,進行交易第一筆時,經常會有Lag(系統卡住不動)狀況發生
也有時是一陣子未操作電腦後,再進行交易時,也會有Lag狀況發生
(已有將本機電腦的螢幕保護程式與休眠關閉)
結帳系統是以VB開發,搭配SQL Server2005 Express,安裝於 winxp SP3
想請教各位高手,不知是否與資料庫本身設定有關呢 (因為大部份操作交易時都是順暢的)
一直找不到原因,很苦惱呀
james386提到:
winxp SP3
既是固定發生的問題, 於發生時 把工作管理員打開來看,
觀察以下欄位先釐清是什麼 程序/CPU/記憶體/IO問題,
CPU,CPU時間,記憶體使用量,虛擬記憶體使用量,I/O讀取位元組,I/O寫入位元組
特別是 I/O讀取位元組, 如果總是特別大量,
要看是否有防毒程式,有的話先關閉防毒再觀察是否改善,
若確定能改善且確定有需要防毒,
則需適當的對防毒程式作排除設定,
先找出原因後才能決定改善的方式
一般結帳系統
傳統寫法是抓到 AP Server/Client 去 Update
大量 Update 方式會很慢
我們在幫 ASUS 寫這種功能時
都是使用 INSERT 在暫存檔
複雜運算都是不去 UPDATE , 採用 SUM 方式
再 TRUNCATE 結帳檔
再 INSERT 到結帳檔
當然 Oracle ERP 是 Insert 到 Interface 檔
開個測試帳號
寫個程式
自動輸入資料
然後間隔幾分沒輸入就會Lag(系統卡住不動)狀況發生
然後就設那個少一分
應該可行吧