新闻是有分量的

web端测试 多个用户完全相同的时间请求怎么模拟

2018-12-20 20:45栏目:性能测试
TAG:

  这必要功能测试用具可能模仿出切实用户的举动,搜罗HTTP要求数、每用户并发线程与TCP连绵数、考虑岁月、有无缓存。

  应用浏览器实行寻常营业操作,功能测试用具录制下HTTP要求音信。大凡必要记实URL与头域、实质、反映码。固然差异的功能测试用具录制办法不相同(如

  办事器的CPU、内存、带宽、I/O是不是仍旧亏欠,导致编制上不去是哪个缘由,遵照缘由实行调优或升级。

  3.1 为什么应用浏览器拜候页面反映很疾,1-2秒就完工;而应用测试用具却必要10几秒,以至几十秒才完工剧本

  络照样办事器题目,可能正在办事器端抓包(tcpdump或wireshark)然后剖判TCP的SYN音信(个数、岁月)

  当然,还必要查看事情的百分比,剖判90%、80%、70%、60%的事情岁月是否正在合理局限。

  事情告捷、波折、岁月,事情大凡是整体剧本运转岁月、或者一个页面或一个来往,通过结果剖判,得出每个事物的岁月是否合理,适合“2-5-8”准绳,倘使

  3) TCP连绵数:操作编制的TCP连绵数外面值大凡很大,操作编制对TCP连绵设立有默认值(奈何修设,可能网上摸索,这里不先容);但实质测试中TCP连绵正在几百,就显现测试的响合时间很长。抓包剖判,正本是三次握手的SYN承办事器不实时反映,导致SYN重传(3秒后,9秒后)。

  会把极少图片缓存正在浏览器姑且目次,下次要求时发送的HTTP要求会带上If-Match或Etag等头域,WEB办事器鉴定资源没变更则会304反映,

  告捷数、波折数、每秒正在线数、最大正在线数,通过这些目标剖判此次测试结果增援的用户数、用户最大数

  下面方便陈列应用过的功能测试用具是怎么模仿的(用具运转一个用户,然后应用wireshark抓包剖判获得的结论):

  1) 硬件资源:如CPU、内存、网卡模糊量、I/O材干、SWAP换取材干

  4) 响合时间:办事器响合时间小,用户体验才好,正在洪量用户并发的处境下,HTTP响合时间正在用户容忍度下才是有用的,大凡采用“2-5-8准绳”。

  获得响合时,会感到编制的反映速率很慢,然则还可能领受;而当用户正在领先8秒后仍旧无法获得响合时,会感到编制糟透了,或者以为

  5) 软件自己代码功能算法:这个不做先容,如差的算法、盘问数据库岁月长等等。

  为什么功能测试用具,必要供应事情(页面或来往、全剧本)目标、TCP连绵、模糊量、办事器资源监控、要求数/反映数。

  测试用具最好能录制出缓存头域,即If-Match或Etag,loadrunner似乎不增援录制缓存头域。

  惟有模仿用户相同的举动才可能编制增援的测试用户数有用,于是必要模仿相同的并发数、TCP连绵数、以至可能是HTTP要求的岁月间隔。用户可能是浏览器、智内行机、智能机顶盒,测试用具模仿他们相同的举动才是最有用的测试。

  测试结果显示事物岁月卓殊大,则透露编制增援不了此次测试的用户,由于用户的响合时间太大(像火车订票相同,太众用户导致响合时间长,用户无法容忍,则认

  于是,惟有尽最大材干模仿切实用户(浏览器或其它WEB客户端,不妨差异浏览器的并发线程与TCP数都不相同)的举动的测试场景,测试结果才最切实,办事器调优才最无意义。

  (CSS、HTML、JS、图片),必要发送100个HTTP要求,倘使应用6个线程(浏览器),则每个也许要求14个HTTP;倘使应用一个线程(测试

  用具),则必要要求100个,岁月当然大良众。下图为chrome浏览器调试用具显示的并发处境:

  TCP连绵告捷数、波折数、TCP三次握手岁月。由于此次测试结果不妨是因为办事器编制或汇集的TCP的丢包与重传才导致延时大的。倘使是办事器的缘由,办事器收到TCP的SYN而不解决,可能通过调试办事器的TCP修设来优化。

  个页面或一次来往可能正在2秒以内获得响合时,会感到编制的反映很疾;当用户正在2-5秒之间获得响合时,会感到编制的反映速率还可能;当用户正在5-8秒以内

  奈何才知晓是办事器的题目呢,这个必要功能测试用具能给出TCP连绵岁月(今朝清晰惟有kylinPET可能增援),倘使显示领先3秒,这时必要查抄是网

  倘使SYN丢了,则会重发,然则第一次是3秒后,第2次是正在9秒后,倘使重发才收到的SYN_ACK,则导致TCP连绵超长,从而导致营业响合时间伸长。

  3.3 怎么才具测试出WEB办事器能增援众少切实用户,怎么的办事器调优参数才合理

  为什么必要模仿切实用户的线程数与TCP连绵数呢,上面提到过,WEB办事器的线程数与TCP连绵数往往很低,这不是抬高硬件就能轻松管理的,这也是办事器调优比拟杂乱的修设。

  好口儿网创始人,互联网运营专家,工商照应专家,财税照应专家,今日头条、搜狐、网易合约作家。功能测试用具运转肯定用户数都告捷,则透露该办事器能增援这么众用户数。这是差池的。由于一次有用的测试结果,不但用户都运转告捷,同时必要包管拜候一个页面或一次来往的响合时间正在合理局限。“2-5-8准绳”,方便说,即是当用户拜候一

  而不是回200 OK,如此淘汰资源的传输,因此岁月就小。而有些测试用具是不领导这些头域(搜罗Loadrunner),于是回的反映是200 OK。因此测试职员默认切实测试时,可能酌量一面有缓存,一面没缓存。

  这是因为浏览器拜候页面反映是并发的,同时并发众个线程(众个Socket),而功能测试用具根基是串行发送要求的。倘使一个页面有100个资源

  遵照录制的剧本发送HTTP要求与收受反映,发送前更换参数(完毕众用户差异参数值)、收受时闭系参数(从收受的反映音讯获取参数值,如Cookie、JSessionID)

  测试时必要酌量功能测试用具的CPU占用率,倘使功能测试用具占用CPU很高,此次测试不妨瓶颈是正在用具,而导致测试结果是无效的。

   其他用具:自己没用过,请用过的兄弟姐妹可能增加下。通过wireshark抓包剖判。

   Loadrunner:遵照录制剧本发送HTTP要求,倘使HTTP要求搜罗内嵌资源(如图片、CSS、JS),会启动第二个线程践诺内嵌资源,即Loadrunner增援同时两个线程两个TCP连绵。

  2) 线程数:这里先容JAVA的WEB办事器,默认每线为编制JAVA历程(如tomcat、JBoss)占得空间惟有2G(大凡比这个小),于是线为无局部线程,但CPU要跟得上

   kylinPET(邦产):可通过修设设立一个线程或者众个线程并发发送HTTP要求,众个线程并发及TCP连绵数跟浏览器举动相同。

  B. 测试场景不肯定模仿了切实营业场景,由于浏览器是并发众线程众TCP完工一个页面的,而测试用具根基都是1,2个线程;对办事器的压力是不相同的,切实境况的TCP压力是功能测试用具虚拟境况的几倍。

今日相关新闻

  • 如何做支付服务器的性能测试
  • 湖南长沙热门软件测试培训学校学什么
  • 七款电热毯测评:网易严选表现佳南极人测试时
  • 51系列与几款常见的单片机性能对比
  • 性能优势明显 手机检测软件曝金立M7 Plus跑分破
  • 千锋软件测试教程:6_性能测试方法续一
  • 炫机必备 全新Android性能测试工具
  • 炒股怎么入门?炒股基本入门知识