當前位置:  首頁  >  服務器技術  >  緩存服務  >  Redis

phpredisclient穩定性測試

一直有個想法,做一個只有redis作數據庫的系統,一直對redis的功能比較贊賞,但不知道redis的單線程穩定性如何

一直有個想法,做一個只有redis作數據庫的系統,一直對redis的功能比較贊賞,但不知道redis的單線程穩定性如何,之前測試過100萬Key的寫入鎖,今天又測試了一下正常讀寫下redis cli的get穩定性。

結果看起來還可以,2萬次左右的單次讀取鎖0.001秒,如果每次展示需要讀取300次cache,整體來說,在redis上的時間損失也不超過0.1秒,跟mysql動則0.1秒的查詢效率來看,還是快得多了。

但還不會做redis db集群和數據恢復,學習ing。
官方網站 http://redis.io/
Redis命令 http://redis.io/commands
Redis協議 http://redis.io/topics/protocol
NoSQLFan Redis資料匯總專題 http://blog.nosqlfan.com/html/3537.html

Ubuntu 12.04 Aspire,10G

[email protected]:/wwwroot/php/redis$ cat /proc/meminfo 
MemTotal:       10092540 kB
MemFree:         4093172 kB
Buffers:          629836 kB
Cached:          2685732 kB

redis版本

[email protected]:/wwwroot/php/redis$ rediscli v
rediscli 2.2.12
[email protected]:/wwwroot/php/redis$ redisserver v
Redis server version 2.2.12 (00000000:0)

測試一,讀取鎖時間

[email protected]:/wwwroot/php/redis$ php locktest.php 
60910 => 0.0011389255523682
10954 => 0.0012128353118896
6543 => 0.0011680126190186
599 => 0.0013341903686523
89891 => 0.0011501312255859
20667 => 0.001054048538208
94608 => 0.0011560916900635
127 => 0.0016088485717773
380 => 0.0011329650878906
6977 => 0.0019309520721436
21108 => 0.0011842250823975
31646 => 0.0012660026550293
143386 => 0.0012049674987793
connect("tcp://127.0.0.1:6379");

$count = 0;
while(true)
{
	$s = microtime(true);
	$redis>get('shuhai');
	$e = microtime(true);
	$t = $e$s;
	$count ++;
	if($t > 0.001)
	{
		echo "$count => $t\n";
		$count = 0;
	}
}

測試二,平均鎖讀取數量

[email protected]:/wwwroot/php/redis$ php locktest.php 
23260
18449.5
40499
30982
32170.6
32801.666666667
33552.428571429
31086.875
27664.333333333
28921.5
27306.545454545
25048.25
23313.923076923
22005.285714286
24101.866666667
26472.0625
25839.764705882
24858.722222222
26115.210526316
25114.75
24149.714285714
29368.954545455
[email protected]:/wwwroot/php/redis$ cat locktest.php 
connect("tcp://127.0.0.1:6379");

$count = 0;
while(true)
{
	$s = microtime(true);
	$redis>get('shuhai');
	$e = microtime(true);
	$t = $e$s;
	$count ++;
	if($t > 0.001)
	{
		$array[] = $count;
		echo array_sum( $array ) / count( $array ) . "\n";
		$count = 0;
	}
}
吐了個 "CAO" !
掃碼關注 PHP1 官方微信號
PHP1.CN | 中國最專業的PHP中文社區 | PHP資訊 | PHP教程 | 數據庫技術 | 服務器技術 | 前端開發技術 | PHP框架 | 開發工具 | PHP問答
Copyright ? 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社區 版權所有
     
28玩法