• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Web服務請求異步化測試(4)

    發表于:2012-10-24來源:Csdn作者:放翁點擊數: 標簽:web測試
    可以看到,在TPS和Response Time上兩者基本上沒有太大差別,TPS就等于500/3=167左右(3秒一個請求,因此用這種簡單算式可以算出),響應時間也較為正常。當時

      可以看到,在TPS和Response Time上兩者基本上沒有太大差別,TPS就等于500/3=167左右(3秒一個請求,因此用這種簡單算式可以算出),響應時間也較為正常。當時我發現在每秒吞吐量上有些差別,后來單個測試case跑了一下,發現是返回的http header比較大,應該是在做異步化時重入等作的一些標識(后面其他容器的異步化也是一樣)。
      最大處理請求數都在服務端后臺看到是500,等同于最大的并發用戶數。
      場景2:1000 并發用戶場景下,后端服務一次請求消耗3秒鐘
    容器 模式 TPS Average Response Time(s) Average Throughput(byte/s) 最大請求處理數 Success rate
    Jetty7 asyn(resume) 317.06 3.036 74826 1000 100%
    Tomcat6 syn 163.323 5.904 18455 500 100%
      場景2就在資源不足的情況下,比較異步服務請求與同步請求處理能力。(例如由于后端某些服務比較慢,導致前段的服務器能夠承載的請求數目超過了線程數)
      這個場景的結果可以看到TPS在異步模式下與并發用戶數呈現同步增長,就好比配置了1000個線程作為線程池一樣,同樣在后端打出的最大請求數上也證明了這一點,因此前段線程池的服務能力在異步的情況下充分復用(當然這里使用的異步服務處理使用的是NIO而不是BIO的Connector)。同樣在吞吐量上依然是增加的,由于異步附加的內容。
      場景3:1500 并發用戶場景下,后端服務一次請求消耗3秒鐘
    容器 模式 TPS Average Response Time(s) Average Throughput(byte/s) Server Load Success rate
    Jboss syn 75.546 5.347 21002 0.115 68%
    Jetty7 Syn 163.156 8.788 19252 0.129 100%
    Jetty7 Asyn(complete) 432.153 3.312 76491 2.649 100%
    Jetty7 Asyn(resume) 423.638 3.375 99979 2.826 100%
    Tomcat6 Syn 163.836 8.75 18513 0.258 100%
    Tomcat7 ASyn 423.501 3.328 54632 1.064 99.3%
      場景三比對了現有TOP的部署模式(Apache + modjk + Jboss)和Jetty7的同步模式,兩種異步模式,Tomcat同步模式,Tomcat的servlet3.0異步模式的處理情況。根據測試可以得到的信息如下:
      1. 現有部署方式在后端服務處理耗時較大的情況下,處理能力不如Jetty7和Tomcat6,同時出錯率很高。
      2. Jetty7的同步處理測試結果和Tomcat6的同步處理測試結果很類似,但是load方面jetty7更好。
      3. 異步處理方面Jetty7的兩種方式基本上差別不大(后續還需要深入源碼看看對于數據緩存資源復用的狀況),Tomcat7的異步處理成功率有些問題(錯誤多半是在獲取response回寫的時候,response已經被提前釋放,看來Tomcat7還是需要一些時間來考驗),load上來說tomcat結果比較好。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>