开发者社区> 问答> 正文

redis并发数可以到多少,为什么我用虚拟机测试只能达到400

我在虚拟机上部署了一台redis,没有改变什么设置,想测试下性能,然后用JAVA开线程测试并发
目前的情况是线程开到500的时候,就出现connect timed out,现在不知道瓶颈在哪里,redis的并发应该没这么差吧

测试代码如下
public class Main {

public static void main(String[] args) {
    for (int i = 0; i < 500; i++) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Jedis jedis_matser = new Jedis("192.168.137.12", 6379);
                    System.out.println(jedis_matser.get("name2"));
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();

    }
}

}

展开
收起
ttss 2017-06-06 01:21:36 15835 0
3 条回答
写回答
取消 提交回答
  • 就职于阿里云数据库技术组,从事redis引擎开发工作,https://github.com/soloestoy

    用redis-benchmark测试下呢

    2019-07-17 21:15:49
    赞同 展开评论 打赏
  • 指的是连接数吗,阿里云redis文档里面有每个规格对应的连接数上限,并发度是受业务端代码限定的

    2019-07-17 21:15:49
    赞同 展开评论 打赏
  • 博客:http://nginxs.blog.51cto.com/ github:https://github.com/bashhu

    你应该先看看redis有什么报错输出。
    redis并发涉及几个问题:
    1.redis服务器的性能,例如你开启AOF或持久化后IO性能差的服务器在频繁读写后很容易导致CPU过载
    2.并发key的特点(redis为内存数据库,一般瓶颈在于带宽越大的key并发越低)
    3.你是使用什么方式请求(你的连接数超过一定程度并发查询效率变低,一些批量操作可以使用Pipelining优化)

    2019-07-17 21:15:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载