偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MongoDB和MySQL性能測試及其結(jié)果分析

數(shù)據(jù)庫 MySQL MongoDB
編者用四組數(shù)據(jù)的查詢和插入操作說明MongoDB、HandlerSocket和MySQL在QPS、CPU、IO三種情況下性能的差異。

 

一、測試環(huán)境

1、測試服務(wù)器狀況

共涉及4臺(tái)測試服務(wù)器:

壓力測試服務(wù)器

Web服務(wù)器

MongoDB服務(wù)器

MySQL服務(wù)器。

 

機(jī)器配置為:

CPU:Intel(R) Core(TM)2 Duo CPU E7200 @ 2.53GHz

RAM:8G DDR2 667

磁盤:SATA

操作系統(tǒng):

Redhat 5.5

 

1. 壓力測試服務(wù)器

安裝Webbench 1.5,通過Webbench來壓Web服務(wù)器。

 

2. Web服務(wù)器

Nginx 0.8.54 + PHP 5.3.3 (php-fpm),安裝有Mongodb和HandlerSocket的php驅(qū)動(dòng)。

Mongodb的php驅(qū)動(dòng)為:mongodb-mongo-php-driver-1.1.1-19-gc584231.tar.gz

HandlerSocket的php驅(qū)動(dòng)為:php-handlersocket-0.0.7.tar.gz

通過Php程序來調(diào)用Mongodb和HandlerSocket。

 

3. MongoDB服務(wù)器

MongoDB版本:1.6.5

 

4. MySQL服務(wù)器

MySQL版本:5.1.53

HandlerSocket版本:1.0.6-60-gf51e061

MySQL存儲(chǔ)引擎:Innodb,調(diào)整了innodb的Thread Pool Size為2G

2、測試程序和測試數(shù)據(jù)提取

1. 為了避免打開連接和Http服務(wù)器成為瓶頸,在測試程序里設(shè)置為每1000個(gè)請(qǐng)求公用同一個(gè)連接,同時(shí)設(shè)置為每個(gè)頁面請(qǐng)求執(zhí)行1000次數(shù)據(jù)請(qǐng)求。

2. 測試的數(shù)據(jù),包括QPS、CPU、IO等方面的數(shù)據(jù),從操作系統(tǒng)提供的命令(如vmstat、iostat等)或者M(jìn)ongodb、Mysql提供的命令(如mongostat、mysqladmin等)來獲取。

二、測試結(jié)果

 

1、100萬條記錄

1. 查詢

 

 

2. 插入

 

 

 

2、1000萬條記錄

1. 查詢

 

 

2. 插入

 

 

 

3、2000萬條記錄

1. 查詢

 

2. 插入

 

 

 

 

4、5000萬條記錄

1. 查詢

 

 

2. 插入

 

 

 

三、測試分析總結(jié)

1、 I/O讀寫情況

從插入情況下的TPS數(shù)據(jù)可以看出, MySQL、HandlerSocket和Mongodb的數(shù)據(jù)有比較明顯的差別,這主要跟他們的內(nèi)部實(shí)現(xiàn)和測試方式有關(guān)系。

 

測試場景下MySQL采用的是單條Insert的方式,所以可以看出QPS數(shù)和TPS數(shù)是基本一致的,也就是每個(gè)Insert操作,都對(duì)應(yīng)有一次I/O寫入操作??梢詮腗ySQL數(shù)據(jù)庫本身做一些優(yōu)化,這次測試沒有覆蓋到這種場景。

 

HandlerSocket內(nèi)部采用的是Bulk Insert操作,所以,可以看出QPS數(shù)明顯大于TPS數(shù),批量的插入操作明顯提高了整體性能。

 

Mongodb內(nèi)部采用合并操作的方式,采用數(shù)據(jù)先存放到內(nèi)存中,然后再Flush到磁盤上的方式。所以,從測試數(shù)據(jù)可以看出,TPS曲線坡度非常大:有時(shí)候TPS是零,這時(shí)候是還放到內(nèi)存中,還沒有Flush到磁盤上;有時(shí)候TPS非常高,同時(shí)這時(shí)候CPU也非常高,幾乎是100%,這時(shí)候是在做Flush到磁盤的操作?;诖朔N機(jī)制,以后會(huì)再做一些更細(xì)化的優(yōu)化和測試,因?yàn)檫@樣有可能會(huì)存在幾種問題:

第一, 可能會(huì)導(dǎo)致某個(gè)時(shí)間段IO和CPU的壓力非常大,甚至達(dá)到峰值,這種情況下,服務(wù)的整體健康狀態(tài)將面臨著一些挑戰(zhàn)。

第二, 如果服務(wù)器重啟,可能會(huì)出現(xiàn)數(shù)據(jù)丟失的情況,內(nèi)存中的數(shù)據(jù)還沒有Flush到磁盤的會(huì)丟失。當(dāng)然這種情況是兩面性的,因?yàn)椴捎眠@種方式,從測試結(jié)果也可以看出,整體的寫入性能比MySQL和HandlerSocket都高,這是一種取舍,就看具體業(yè)務(wù)是否可以接受這樣的以高性能換取數(shù)據(jù)可靠性,有些業(yè)務(wù)可能是可以接受的,比如Feed。

2、 CPU占用情況

從查詢情況下的CPU數(shù)據(jù)可以看出,MySQL和Mongodb幾乎都接近100%,而HandlerSocket由于省去了各種Sql Parser和相關(guān)的操作,CPU占用率保持在40%-60%之間,在一個(gè)比較合理的范圍內(nèi)。

 

從插入情況下的CPU數(shù)據(jù)可以看出,HandlerSocket的CPU占用率還是保持在40%-60%之間,低于MySQL和Mongodb。MySQL和Mongodb大部分情況保持在50%-90%之間。

 

3、 QPS情況

從查詢情況下的QPS數(shù)據(jù)可以看出,HandlerSocket和Mongodb的查詢性能幾乎差不多,都達(dá)到3萬以上,并且隨著數(shù)據(jù)量的增長,性能沒有回落,還是保持在3萬以上。目前只是最大測試到5000萬數(shù)據(jù)的情況,更高的數(shù)值這次測試還沒有覆蓋到。而MySQL的性能相比之下則差一些,一般在18000到25000之間。當(dāng)然這次沒有太多的針對(duì)MySQL做優(yōu)化,只是增大了innodb_thread_pool大小和每次分配的數(shù)據(jù)塊的大小,如果針對(duì)MySQL做優(yōu)化,可能能同時(shí)提高HandlerSocket和MySQL的性能。

 

從插入情況下的QPS數(shù)據(jù)可以看出,Mongodb明顯占有比較大的優(yōu)勢,這根之前說的它的實(shí)現(xiàn)方式有關(guān)。隨著數(shù)據(jù)量的增長,QPS都相應(yīng)的在減少,這方面,MySQL的幅度最大,數(shù)據(jù)量到達(dá)5000萬以上時(shí),MySQL的插入性能為2000-3000,而HandlerSocket能保持在1萬以上,Mongodb為2萬以上。

出處:http://www.cnblogs.com/inrie

 

【編輯推薦】

  1. MySQL 5.5.5 M3發(fā)布 改進(jìn)InnoDB存儲(chǔ)引擎
  2. 從MySQL 5.5發(fā)布看開源數(shù)據(jù)庫版本升級(jí)新模式
  3. MySQL 5.5發(fā)布 支持半同步復(fù)制
  4. MySQL 5.5更新頻繁 InnoDB重大改進(jìn)
  5. 深入了解MySQL 5.5分區(qū)功能增強(qiáng)

 

 

 

 

責(zé)任編輯:艾婧 來源: 博客園
相關(guān)推薦

2009-07-15 18:16:47

性能測試結(jié)果

2023-09-18 16:14:35

性能測試開發(fā)

2023-04-17 16:33:27

云計(jì)算工具云性能測試

2011-07-28 09:08:14

MongoDB性能測試

2011-09-27 10:11:14

MongoDBR

2011-08-19 09:44:25

2019-06-13 16:10:18

FirefoxChrome前端

2010-05-21 16:23:52

MySQL MyISA

2023-05-12 07:38:46

Python基準(zhǔn)測試性能分析

2013-12-25 10:32:41

MySQL性能測試

2010-05-27 12:58:16

MySQL性能測試

2024-11-29 07:32:38

2011-06-09 09:28:24

LevelDB

2021-08-01 08:08:04

安卓安全APP

2019-10-31 11:50:19

MySQL數(shù)據(jù)庫Windows

2013-03-21 11:20:00

性能測試性能調(diào)優(yōu)測試

2019-06-18 10:24:23

開源技術(shù) 趨勢

2021-07-08 14:59:05

JMHMongodb數(shù)據(jù)

2011-03-03 10:32:07

Mongodb億級(jí)數(shù)據(jù)量

2023-07-06 14:07:30

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)