{"id":635,"date":"2023-02-26T11:43:26","date_gmt":"2023-02-26T03:43:26","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=635"},"modified":"2023-04-29T20:00:17","modified_gmt":"2023-04-29T12:00:17","slug":"redis-performance-test","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/02\/26\/redis-performance-test\/","title":{"rendered":"Redis \u6027\u80fd\u6d4b\u8bd5"},"content":{"rendered":"<h2>\u7b80\u4ecb<\/h2>\n<p>Redis \u6027\u80fd\u6d4b\u8bd5\u662f\u901a\u8fc7\u540c\u65f6\u6267\u884c\u591a\u4e2a\u547d\u4ee4\u5b9e\u73b0\u7684\u3002<\/p>\n<p>Redis \u6027\u80fd\u6d4b\u8bd5\u7684\u57fa\u672c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<p><!-- more --><\/p>\n<pre><code class=\"language-bash\">redis-benchmark [option] [option value]<\/code><\/pre>\n<p>\u6ce8\u610f\uff1a\u8be5\u547d\u4ee4\u662f\u5728 Redis \u7684\u76ee\u5f55\u4e0b\u6267\u884c\u7684\uff0c\u800c\u4e0d\u662f Redis \u5ba2\u6237\u7aef\u7684\u5185\u90e8\u6307\u4ee4<\/p>\n<h2>\u5b9e\u4f8b<\/h2>\n<p>\u4ee5\u4e0b\u5b9e\u4f8b\u540c\u65f6\u6267\u884c 10000 \u4e2a\u8bf7\u6c42\u6765\u68c0\u6d4b\u6027\u80fd\uff1a<\/p>\n<pre><code class=\"language-bash\">$ redis-benchmark -n 10000  -q\n\nPING_INLINE: 141043.72 requests per second\nPING_BULK: 142857.14 requests per second\nSET: 141442.72 requests per second\nGET: 145348.83 requests per second\nINCR: 137362.64 requests per second\nLPUSH: 145348.83 requests per second\nLPOP: 146198.83 requests per second\nSADD: 146198.83 requests per second\nSPOP: 149253.73 requests per second\nLPUSH (needed to benchmark LRANGE): 148588.42 requests per second\nLRANGE_100 (first 100 elements): 58411.21 requests per second\nLRANGE_300 (first 300 elements): 21195.42 requests per second\nLRANGE_500 (first 450 elements): 14539.11 requests per second\nLRANGE_600 (first 600 elements): 10504.20 requests per second\nMSET (10 keys): 93283.58 requests per second<\/code><\/pre>\n<p>Redis \u6027\u80fd\u6d4b\u8bd5\u5de5\u5177\u53ef\u9009\u53c2\u6570\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<ul>\n<li><code>-h<\/code>\uff1a\u6307\u5b9a\u670d\u52a1\u5668\u4e3b\u673a\u540d\uff0c\u9ed8\u8ba4\u503c127.0.0.1<\/li>\n<li><code>-p<\/code>\uff1a\u6307\u5b9a\u670d\u52a1\u5668\u7aef\u53e3\uff0c\u9ed8\u8ba4\u503c6379<\/li>\n<li><code>-s<\/code>\uff1a\u6307\u5b9a\u670d\u52a1\u5668\uff0c\u9ed8\u8ba4\u503csocket<\/li>\n<li><code>-c<\/code>\uff1a\u6307\u5b9a\u5e76\u53d1\u8fde\u63a5\u6570\uff0c\u9ed8\u8ba4\u503c50<\/li>\n<li><code>-n<\/code>\uff1a\u6307\u5b9a\u8bf7\u6c42\u6570\uff0c\u9ed8\u8ba4\u503c10000<\/li>\n<li><code>-d<\/code>\uff1a\u4ee5\u5b57\u8282\u7684\u5f62\u5f0f\u6307\u5b9a SET\/GET \u503c\u7684\u6570\u636e\u5927\u5c0f\uff0c\u9ed8\u8ba4\u503c2<\/li>\n<li><code>-k<\/code>\uff1a1=keep alive 0=reconnect\uff0c\u9ed8\u8ba4\u503c1<\/li>\n<li><code>-r<\/code>\uff1aSET\/GET\/INCR \u4f7f\u7528\u968f\u673a key, SADD \u4f7f\u7528\u968f\u673a\u503c<\/li>\n<li><code>-P<\/code>\uff1a\u901a\u8fc7\u7ba1\u9053\u4f20\u8f93 <numreq> \u8bf7\u6c42\uff0c\u9ed8\u8ba4\u503c1<\/li>\n<li><code>-q<\/code>\uff1a\u5f3a\u5236\u9000\u51fa redis\u3002\u4ec5\u663e\u793a query\/sec \u503c<\/li>\n<li><code>--csv<\/code>\uff1a\u4ee5 CSV \u683c\u5f0f\u8f93\u51fa<\/li>\n<li><code>-l<\/code>\uff1a\u751f\u6210\u5faa\u73af\uff0c\u6c38\u4e45\u6267\u884c\u6d4b\u8bd5<\/li>\n<li><code>-t<\/code>\uff1a\u4ec5\u8fd0\u884c\u4ee5\u9017\u53f7\u5206\u9694\u7684\u6d4b\u8bd5\u547d\u4ee4\u5217\u8868<\/li>\n<li><code>-I<\/code>\uff1aIdle \u6a21\u5f0f\u3002\u4ec5\u6253\u5f00 N \u4e2a idle \u8fde\u63a5\u5e76\u7b49\u5f85<\/li>\n<\/ul>\n<p>\u4ee5\u4e0b\u5b9e\u4f8b\u6211\u4eec\u4f7f\u7528\u4e86\u591a\u4e2a\u53c2\u6570\u6765\u6d4b\u8bd5 redis \u6027\u80fd\uff1a<\/p>\n<pre><code class=\"language-bash\">$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q\n\nSET: 146198.83 requests per second\nLPUSH: 145560.41 requests per second<\/code><\/pre>\n<p>\u4ee5\u4e0a\u5b9e\u4f8b\u4e2d\u4e3b\u673a\u4e3a 127.0.0.1\uff0c\u7aef\u53e3\u53f7\u4e3a 6379\uff0c\u6267\u884c\u7684\u547d\u4ee4\u4e3a<code>set,lpush<\/code>\uff0c\u8bf7\u6c42\u6570\u4e3a 10000\uff0c\u901a\u8fc7<code>-q<\/code>\u53c2\u6570\u8ba9\u7ed3\u679c\u53ea\u663e\u793a\u6bcf\u79d2\u6267\u884c\u7684\u8bf7\u6c42\u6570<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7b80\u4ecb Redis \u6027\u80fd\u6d4b\u8bd5\u662f\u901a\u8fc7\u540c\u65f6\u6267\u884c\u591a\u4e2a\u547d\u4ee4\u5b9e\u73b0\u7684\u3002 Redis \u6027\u80fd\u6d4b\u8bd5\u7684\u57fa\u672c\u547d\u4ee4\u5982\u4e0b\uff1a redis-b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-635","post","type-post","status-publish","format-standard","hentry","category-redis"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/635\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}