使用Apache,壓力測試redisson的通常高併發

安裝

Linuxhtml

linux直接yum -y install httpd-tools,而後ab -V測試linux

Windowsnginx

1查看80端口有沒有被佔用,netstat -ano | findstr "80"redis

2下載地址https://www.apachehaus.com/cgi-bin/download.plxapache

 

 

 

3解壓後,找到安裝目錄下的httpd.conf,修改成本身的安裝目錄windows

 

 

4 啓動服務服務器

 

5 命令示例(併發200,一共1000個請求)cookie

D:\apache24\bin>ab -c 200 -n 1000 http:nginx負載均衡/壓力方法網絡

6 測試結果併發

研究redisson的分佈式鎖在併發下的效果

 

Ab命令參數

-nrequests,用於指定壓力測試總共的執行次數。

-cconcurrency用於指定壓力測試的併發數。

-t即timelimit,等待響應的最大時間(單位:秒)。

-b即windowsize,TCP發送/接收的緩衝大小(單位:字節)。

-p即postfile,發送POST請求時須要上傳的文件,此外還必須設置-T參數。

-u即putfile,發送PUT請求時須要上傳的文件,此外還必須設置-T參數。

-T即content-type,用於設置Content-Type請求頭信息,例如:application/x-www-form-urlencoded,默認值爲text/plain。

-v即verbosity,指定打印幫助信息的冗餘級別。

-w以HTML表格形式打印結果。

-i使用HEAD請求代替GET請求。

-x插入字符串做爲table標籤的屬性。

-y插入字符串做爲tr標籤的屬性。

-z插入字符串做爲td標籤的屬性。

-C添加cookie信息,例如:"Apache=1234"(能夠重複該參數選項以添加多個)。

-H添加任意的請求頭,例如:"Accept-Encoding: gzip",請求頭將會添加在現有的多個請求頭以後(能夠重複該參數選項以添加多個)。

-A添加一個基本的網絡認證信息,用戶名和密碼之間用英文冒號隔開。

-P添加一個基本的代理認證信息,用戶名和密碼之間用英文冒號隔開。

-X指定使用的代理服務器和端口號,例如:"126.10.10.3:88"。

-V打印版本號並退出。

-k使用HTTP的KeepAlive特性。

-d不顯示百分比。

-S不顯示預估和警告信息。

-g輸出結果信息到gnuplot格式的文件中。

-e輸出結果信息到CSV格式的文件中。

-r指定接收到錯誤信息時不退出程序。

-h顯示用法信息,其實就是ab -help。

 

測試

測試代碼

1 新建一個測試redisson控制層,加入測試代碼

@RequestMapping("lockTest")
@ResponseBody
public String lockTest(){
    Jedis jedis = redisUtil.getJedis();// redis連接
    RLock lock = redissonClient.getLock("redis-lock");//分佈鎖
    //加鎖
   
lock.lock();
   
try {
        String v = jedis.get("k");//獲取value
        System.err.print("==>"+v);//打印value
        if(StringUtil.isBlank(v)){
            v = "1";
        }
        int inum = Integer.parseInt(v);//得到value的值
        jedis.set("k", inum+1+"");//value增長1
        jedis.close();
    } finally {
        lock.unlock();
    }
    return "success";
}

 

2 啓動n個測試redisson控制層的微服務

 

 

3 配置nginx的負載均衡到測試redisson控制層的微服務

A配置nginxupstream

         upstream redisTest {

                  server   127.0.0.1:8071 weight=3;

                  server   127.0.0.1:8072  weight=3;

                  server   127.0.0.1:8073  weight=3;

         }

B配置nginx的默認代理地址

        location / {

             #root D:/software/upload;  

                           proxy_pass http://redisTest;

             index  index.html index.htm;

        }

 

4 apacheab壓力測試命令訪問nginx來壓測分佈式的redisson控制層的微服務

同時觀察redis的被併發的k的增加狀況

相關文章
相關標籤/搜索