我在虚拟机上部署了一台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();
}
}
}
用redis-benchmark测试下呢
你应该先看看redis有什么报错输出。
redis并发涉及几个问题:
1.redis服务器的性能,例如你开启AOF或持久化后IO性能差的服务器在频繁读写后很容易导致CPU过载
2.并发key的特点(redis为内存数据库,一般瓶颈在于带宽越大的key并发越低)
3.你是使用什么方式请求(你的连接数超过一定程度并发查询效率变低,一些批量操作可以使用Pipelining优化)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。