各位前輩好
小弟公司有一線上公文系統
是架設在SQL2005上,是透過Apache Tomcat4.0和J21.4.1去連結資料庫的!
這個架構我也剛接觸不是很懂
目前線上公文系統資料庫大約為4.1G
不過小弟一星期有清一次LOG檔(大約4G左右的大小),
伺服器配備如下
Xeon E5335 4核心 2G *2(8M)
記憶體 1G*4
硬碟空間 750GB (RAID5 4+1 250G)
晚輩有去看系統管理員,RAM的使用量大約落在2.7G左右,並沒有滿載
CPU更是低
主機大約過年至今天沒有重開過!還是有別的TEMP檔要刪除,只刪除LOG檔好像只是防止硬碟容量不足,不知會不會影響連線速度!
請各位前提示一下!小弟目前卡在那裡!
在此獻上最高敬意!
super288提到:
RAM的使用量大約落在2.7G左右
這樣 RAM 應該就滿載了啦.....別以為你有 4GB RAM....
有很多 Xeon 的主機板, 在插到 4GB 的時候, 實際上只能使用 2.84GB, 如下:
你可以先嘗試將 SQL Server 的記憶體使用量, 限縮到 1GB, 看看這樣還會不會慢?
謝raytracy前輩的回覆
晚輩公司裡是用SQL 2005,我不知這樣調整對不對,SQL需要做什麼重啟嗎,還是確定之後就可以套用晚輩做的設定,
晚輩可以問一下SQL的運作原理嗎?
若我們的資料庫是4G,他所需要的RAM會在多少
因為公司還有ERP ,他資料庫才1.8G,可是我們RAM給他8G,他居然全用完光光
資料庫是以什麼原理去運作,晚輩只了解他會將資料放在RAM裡!
可是也不至於全部的RAM用光光!
請前輩給晚輩一點提示!
在此獻上最高敬意
super288提到:
晚輩公司裡是用SQL 2005,我不知這樣調整對不對,SQL需要做什麼重啟嗎,還是確定之後就可以套用晚輩做的設定,
可以, 調整完畢之後, SQL 必須重新啟動.
super288提到:
晚輩可以問一下SQL的運作原理嗎?
若我們的資料庫是4G,他所需要的RAM會在多少
因為公司還有ERP ,他資料庫才1.8G,可是我們RAM給他8G,他居...(恕刪)
其實, SQL 的預設行為是: 你有多少 RAM, 我都會把它吃光光, 只留 500MB 給系統...
所以, 手動限制 SQL 所能使用的 RAM, 可以解決 70% 以上的效能變慢問題...
SQL 需要多少 RAM? 這是跟很難回答的問題. 不過, 對大部分的商業應用來說: RAM 的用量, 跟您資料庫所占用的硬碟容量, 之間關係並不大; 反倒是跟您所下的 SQL Query 指令語法, 有很大的關係.
但是如果您的 Query 語法無法由您自己控制的話, 那就只能期待軟體廠商的工程品質....
樓下 insider 建議的方法 1. 是標準的軟體品質程序, 每個設計 SQL 語法的人, 都應該要先做過這樣的測試之後, 才可以把軟體交給客戶.
不幸的是, 國內土產 ERP 廠商, 大多沒有這樣做. 客戶抱怨慢, 就只會叫客戶去買更貴的硬體...
至於方法 2. 嘛.....您如果有預算的話, 我也不反對啦....
Two approaches:
Download : SQL Server 2005 Best Practices Analyzer (August 2008) and collect the information. Send the report to Microsoft Support center ( if the maintenance contract still vaild) to get solution.
Ask RayTracy to give you consultancy Quote to provide on-site advice/service once get approval from your management.
修改記憶體可以不用重開機, 這是我幫客戶約20GB大資料庫所規劃的記憶體, 參考一下
記憶體在資料庫主要是做系統物件的快取及資料緩衝及排序使用, 我的經驗是10GB以內資料量用1GB記憶體是很足夠的, 主要是你家SQL語法及索引要調整後, 效能才會出來....
參考資料是我調校的結果, 參考一下: