SQL Server 2000效能測試分析

來源:互聯網
上載者:User

測試環境

作業系統:windows server 2003

CPU:Intel(R) Xeon(TM) CPU 3.00GHz,4核

記憶體:2G,主要運行MySQL服務

硬碟:cciss 37G

檔案系統:NTFS,支援大檔案

資料庫版本:SQL Server 2000 sp3

網卡:100M

網路環境:100M交換區域網路

測試方法

資料規模分為1萬條、10萬條、100萬條和1000萬條記錄層級。

在每種資料規模下分別執行2000次隨機查詢,這樣可以防止資料庫直接從緩衝中返回查詢結果,更加接近真實的查詢情況。以系統時間為隨機種子,在現有的記錄範圍內隨機執行查詢操作。

查詢類型分為:單表select、雙表select、insert、update、delete。

每個執行條目都為單次查詢的平均執行時間,單位為微妙。如果要看整體執行時間,則乘以2000即可。

由於指令碼插入資料很慢,採用sql server用戶端工具測試效率很低且不能保證足夠的隨機性,所以插入資料和測試效能都是自己編寫相應的程式來完成。

開啟二進位更新日誌。

測試記錄測試資料

本地查詢操作平均執行時間(單位:微秒)

項目記錄數

單表select

雙表select

insert

update

delete

1萬條

295

2249

16292

2552

2681

10萬條

302

134658

16406

2689

2790

100萬條

524746

691188

16832

546313

501983

1000萬條

49000000

103000000

16882

49100000

49100000

跨主機查詢操作平均執行時間(單位:微秒)

項目記錄數

單表select

雙表select

insert

update

delete

1萬條

986

3143

16431

3608

3497

10萬條

1076

125462

17248

4087

3825

100萬條

525524

709991

17514

552526

526370

1000萬條

49002000

103003000

18882

49102000

49104000

到了千萬條記錄的規模,sql server查詢及其緩慢,記憶體佔用高達1.7G。

查詢過於緩慢,導致測試效率極低,無法進行2000次隨機查詢,只能查詢3次求平均值。

效能比較

由於百萬和千萬條的查詢時間與1萬和10萬條懸殊過大,圖例很難正常顯示。

這裡就只提供表格式資料,以供比較參考。

SQL Server本地查詢操作平均執行時間(單位:微秒)

項目記錄數

單表select

雙表select

insert

update

delete

1萬條

295

2249

16292

2552

2681

10萬條

302

134658

16406

2689

2790

100萬條

524746

691188

16832

546313

501983

1000萬條

49000000

103000000

16882

49100000

49100000

MySQL MyISAM引擎本地查詢操作平均執行時間(單位:微秒)

項目記錄數

單表select

雙表select

insert

update

delete

1萬條

178

247

694

141

170

10萬條

195

271

705

157

186

100萬條

3055

5164

746

4308

12373

1000萬條

8665

15259

803

11033

17224

SQL Server跨主機查詢操作平均執行時間(單位:微秒)

項目記錄數

單表select

雙表select

insert

update

delete

1萬條

986

3143

16431

3608

3497

10萬條

1076

125462

17248

4087

3825

100萬條

525524

709991

17514

552526

526370

1000萬條

49002000

103003000

18882

49102000

49104000

MySQL MyISAM引擎跨主機查詢操作平均執行時間(單位:微秒)

項目記錄數

單表select

雙表select

insert

update

delete

1萬條

358

484

1188

269

298

10萬條

375

505

1227

283

322

100萬條

3174

5293

1242

4142

7981

1000萬條

12302

19920

1261

12355

20449

效能分析

1、 從圖表看出,在普通PC伺服器上,sql server在執行大規模100萬條記錄以上的查詢效率就很低,到了1000萬條規模業務幾乎無法開展,單條查詢都40多秒。

2、SQL Server插入資料效能受資料規模影響較小,這點與MySQL類似。

主要原因是,插入資料都是從尾部插入的,跟前面的資料規模關係更不大。

3、資料規模越大,MySQL和SQL Server效能差別就越大。

4、MySQL的效能隨著資料規模增大線性遞減,而SQL Server幾乎是指數遞減。

5、由於在MySQL 5.0以後MyISAM引擎和InnoDB引擎的效能差別不大,所以就選擇了MyISAM引擎來和SQL Server來比較。

6、在低設定管理員和PC機上運行資料庫,建議採用Linux加MySQL。

7、

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.