wq8987 2015-06-03 07:51 采纳率: 0%
浏览 1725

jedit2.7.1对redis3.0性能简单测试

针对redis3.0作了一个简单的测试,用例如下:
1、单机单连接测试1000条写
2、单机利用连接池测试1000条写
3、3主3从单连接测试1000条写
4、3主3从连接池测试1000条写

1-3的耗时都在6秒左右徘徊,但是4所消耗的时间却有2倍,不知道什么原因,忘高手指点

图片说明

 package com.mdf.redis;

import java.util.HashSet;
import java.util.Set;

import junit.framework.TestCase;

import org.junit.Test;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.Protocol;

public class TestRedisCluster extends TestCase {

    @Test
    public void testSingle() {
        Jedis jedis = new Jedis("182.92.157.199");
        jedis.auth("mdf_master");
        for (int i = 0; i < 1000; i++) {
            jedis.set("testSingle" + i, String.valueOf(i));
        }
        jedis.close();
    }

    @Test
    public void testSinglePool() {
        JedisPoolConfig redisPoolConf = new JedisPoolConfig();
        redisPoolConf.setMaxTotal(1024);
        redisPoolConf.setMaxIdle(200);
        redisPoolConf.setMaxWaitMillis(1000);
        redisPoolConf.setTestOnBorrow(true);
        JedisPool pool = new JedisPool(redisPoolConf, "182.92.157.199", 6379,Protocol.DEFAULT_DATABASE,"mdf_master");
        Jedis jedis = pool.getResource();
        for (int i = 0; i < 1000; i++) {
            jedis.set("testSinglePool" + i, String.valueOf(i));
        }
        pool.returnResourceObject(jedis);
        pool.close();
    }

    @Test
    public void testCluster() {
        Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
        jedisClusterNodes.add(new HostAndPort("182.92.157.199", 7000));
        JedisCluster jc = new JedisCluster(jedisClusterNodes);
        for (int i = 0; i < 1000; i++) {
            jc.set("testCluster" + i, String.valueOf(i));
        }
        jc.close();
    }

    @Test
    public void testPoolCluster() {
        JedisPoolConfig redisPoolConf = new JedisPoolConfig();
        redisPoolConf.setMaxTotal(1024);
        redisPoolConf.setMaxIdle(200);
        redisPoolConf.setMaxWaitMillis(1000);
        redisPoolConf.setTestOnBorrow(true);
        Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
        jedisClusterNodes.add(new HostAndPort("182.92.157.199", 7000));
        JedisCluster jc = new JedisCluster(jedisClusterNodes, redisPoolConf);
        for (int i = 0; i < 1000; i++) {
            jc.set("testPoolCluster" + i, String.valueOf(i));
        }
        jc.close();
    }
}
  • 写回答

2条回答

  • KUAILEIT 2015-12-09 06:32
    关注

    我的更糟,我用的是公司服务器,考虑是不是网络延迟的问题图片说明

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?