将memcache,redis,mongodb以及mysql在windows平台上进行性能效率对比
平台: 本人平时工作机器,winXPsp3, Intel双核1.6GHz, 3G内存。
在本机平台装上 memcached,mongoDB,redis,mysql5的服务。
PHP5.2.9-2, 安装扩展:
php_redis.dll
php_memcache.dll
php_mysql.dll
php_mongo.dll
以下列表是分别在本机上做的几种操作,以及每种操作所花费的时间:
操作 | Redis | Memcache | MongoDB | Mysql | 文件IO | 执行1+1 |
读 1W次 | 1.775839s | 0.863312s | 1.323731s | 2.377984s | 3.346281s | 0.003467s |
读 10W次 | 17.693229s | 9.423471s | 12.764318s | 24.073643s | 33.336642s | 0.013472s |
读 100W次 | 172.352619s | 93.393756s | 128.311619s | 254.976678s | 331.548441s | 0.11171s |
写 1W次 | 1.832932s | 0.97178s | 2.042721s | 2.549457s | 6.239744s | |
写 10W次 | 18.245478s | 9.5773s | 20.11449s | 26.537051s | 63.450756s | |
写 100W次 | 183.40749s | 94.918653s | 201.850479s | 262.413434s | 631.606165s | |
说明 | key/value | key/value | _id做where | 主键做where | 对txt读写 | $n=1+1; |
从上表可以看出:读写内存肯定是最快的,redis与mongodb在读/写方面各有所长,但redis与mongodb都是要快于mysql,当然IO读写是最慢的了。
补充:
本次的结果是在本人工作机器上的简单测试,XP上跑出来的数据不能代表正式的生产服务器的效率,仅做参考。
表格中的秒数是每种都取样10次然后计算的平均值。
本机性能是:PHP执行100W次"1+1"用时0.11171s。
关键字词: