天天看點

sqlite3 mysql性能測試_mysql性能測試

1.測試環境

伺服器:

CPU:2GHZ,記憶體:4G,實體機

系統:centos 5 32位

網絡:100Mbps 區域網路

用戶端:

CPU:2GHZ,記憶體:4G

系統:centos 5 32位

資料量:1000萬條記錄

mysql版本:5.1.51-log

測試方法:把mysql挂到DNS軟體後面,用bind的測試工具querypref測試

測試時,啟動五個DNS軟體程序,每個程序裡開一個mysql的長連接配接,每次請求不關閉連接配接

2.測試結果

2.1mysql

2.1.1 1000萬在同一張表測試

CREATETABLE`rr` (

`beginip` int(10) unsignedDEFAULTNULL,

`endip` int(10) unsignedDEFAULTNULL,

`zone` varchar(256)DEFAULTNULL,

`rrtype` tinyint(4) DEFAULTNULL,

`data` varchar(256)DEFAULTNULL,

`ttl` int(10) unsignedDEFAULTNULL,

INDEX`zone_index` (`zone`) USING BTREE,

INDEX`ipset_index` (`beginip`,`endip`) USING BTREE,

INDEX`rrtype_index` (`rrtype`) USING BTREE

) ENGINE=MyISAM DEFAULTCHARSET=utf8;

sql語句:

select data,ttl from rr where domain=;

//不使用緩存

SET GLOBAL query_cache_size=0;

加索引: INDEX `zone_index` (`zone`) USING BTREE,

INDEX `ipset_index` (`beginip`,`endip`) USING BTREE,

INDEX `rrtype_index` (`rrtype`) USING BTREE

打開緩存:1.4萬qps(query per second) ,單次請求時間為1~3ms

不緩存: 21qps,單次請求時間為88ms

伺服器一分鐘負載:2~3

發現在查詢時,去更新某一條記錄時,那幾分鐘單次請求時間為900ms,估計mysql在重建立緩存和索引導緻

2.1.2 1000張表,1萬條資料測試

CREATETABLEwww_a_com_ (

beginip int(10) unsignedDEFAULTNULL,

endip int(10) unsignedDEFAULTNULL,

rrtype tinyint(4) DEFAULTNULL,

data varchar(256)DEFAULTNULL,

ttl int(10) unsignedDEFAULTNULL,

INDEXipset_index (beginip,endip) USING BTREE,

INDEXrrtype_index (rrtype) USING BTREE

);

sql語句:select data,ttl from www_a_com_ where and beginip<=3232238968 and endip>=3232238968 and rrtype=1;//使用緩存SET GLOBAL key_buffer_size=200*1024*1024;SET GLOBAL table_cache=1200;SET GLOBAL thread_cache_size=60;SET GLOBAL query_cache_size=200*1024*1024;SET GLOBAL query_cache_limit=200*1024*1024;SET GLOBAL table_definition_cache=1200;SET GLOBAL thread_cache_size=60;SET GLOBAL myisam_data_pointer_size=60;SET GLOBAL delayed_queue_size=2000;SET GLOBAL preload_buffer_size=65536;加索引: INDEX `ipset_index` (`beginip`,`endip`) USING BTREE,INDEX `rrtype_index` (`rrtype`) USING BTREE打開緩存:1.5萬qps,單次請求時間為1~3ms不緩存: 3000qps,單次請求時間為6~7ms伺服器一分鐘負載:2~4測試時,發現在程序裡啟動10個連接配接和1一個連接配接的測試資料相差不大。