實際實驗中的服務器平臺評測

本文僅將實際操作結果展示出來,由於作者水平尚且有限,故而未能做出深度的分析,還請見諒!

/***************************************************************************************************************/

最近做一些實驗,因爲需要把語料導入數據庫方便數據統計,因此在自己的臺式機上搭建了平臺,其軟硬件配置如下:

項目

配置

硬件

主板

Intel G31 Series

CPU

Intel Pentium E5200 Dual Core 2.5GHz

內存

2GB DIMM x2  DDR2-667

硬盤

WD 320GB 7200rpm

軟件

操作系統

Microsoft Windows 7 Professional x86

數據庫

Microsoft SQL Server 2008 Express

Java運行時

Java(TM) SE 1.7.0_25-i586

在此配置下悲劇地跑了將近三天,在程序運行初期,手工統計運行時間爲120/秒,但是到了運行末期,幾乎每秒鐘只能插入5條左右,這悲劇的速度實在讓人捉急!

但是兩天的時間消耗也並沒有帶來多好的結果,很多行莫名其妙的消失了(未能成功插入數據庫),因此計劃將平臺改爲服務器平臺,由於手頭當時有Windows Server 2008的正版授權,儘管也拿到了Windows Server 2012的正版授權,但是鏡像仍然沒有拿到,因此先使用了2008版本的服務器平臺,在硬件配置不變的前提下,軟件環境如下:

項目

配置

軟件

操作系統

Microsoft Windows Server 2008 R2 Enterprise x64

數據庫

Microsoft SQL Server 2008 Enterprise

Java運行時

Java(TM) SE 1.7.0_25-x64

很幸運,本次執行數據導入僅花費了將近一天的時間(約20小時)。這樣的時間消耗原本已經提高了很多,但是對於僅有兩百萬條的記錄來說,這種速度還是很低的,而且當初的情況還是出現了,只是沒有那麼嚴重,在導入過程的後期,每秒鐘執行的SQL語句條數也僅在10條左右。從程序本身分析,由於調用的驅動包是Microsoft提供的sqljdbc4.jar版本,據說該驅動包本身就存在性能較低的問題,再加上本人也剛剛開始從事Java程序的開發,因此對於數據庫這塊還沒有用批量插入這樣的功能(主要是開發前期代碼邏輯未能組織好),所以逐條插入的操作方式本身存在一些問題。

拋開程序的因素(因爲這裏使用的是同一版本的代碼),僅比較軟件平臺,發現專職服務器的操作系統性能上還是要比普通的個人桌面操作系統要高一些,儘管用戶體驗不能相比(畢竟這也不是重點)。因此考慮使用微軟宣稱性能大幅度提高的2012版本平臺進行再次測試,儘管這個測試對於我來說沒有太大意義,因爲將數據導入數據庫纔是我最終的目的,而這個目的我已經達到了,但是鑑於2012版本的平臺可能會給我帶來更高的查詢效率,因此我認爲這個想法是值得一試的。所以在再到2012版本的平臺軟件之後,開始進行部署:

項目

配置

軟件

操作系統

Microsoft Windows Server 2012 Standard x64

數據庫

Microsoft SQL Server 2012 Enterprise x64

Java運行時

Java(TM) SE 1.7.0_25-x64

太令人振奮了,在此平臺上同樣的數據導入任務僅用3.5小時就完成了。之所以說很幸運,一來是我已經做好了明天再查看進度的計劃了,服務器上的性能計數器也能給我計時(數據導入過程中CPU的使用率較高),但是吃完晚飯回來竟然發現程序已經跑完了,而且數據一行也沒有丟失(當然,在2008版本的平臺上也沒有出現數據丟失的現象,至於Win7平臺上爲什麼會出現這種情況,我也表示很奇怪),這簡直是一個天大的好消息。畢竟插入效率提升的話,相信查詢效率也能有大幅度的提升,這對以後的工作是一個再好不過的消息了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章