发表于: 2017-11-17 23:07:20

1 687


今天做的事情:


                回来之后再重新看一遍步骤一,首先Jmeter是一个基于java的压力测试工具,用于对软件进行压力测试,由此分析性能。而与我们之前使用的PostMan相比较,对于单次测试,PostMan是个不错的http请求模拟工具,对于模拟多用户并发等性能测试,需要用到Jmeter。


                在Jmeter中设置线程组,分配多少线程,相当于分配多少虚拟用户,再乘以循环次数,得出的是需要在Ramp up设定的时间内执行的用户访问数量。调整线程数量和循环次数,就可以测试出性能和并发。


              查看TPS数据,重新新建线程组,

             第一次测试  给20个线程数,循环次数20

        

              


             


           

             第二次测试:  5个线程数,100次循环。


                 


              


              

          第三次测试: 100个线程,20次循环


               


            


              所用时间已经将近9分钟,吞吐量下降很多,而且响应时间特别长。



            总结一下:首先自己去看资料理解,测试出来,跟师兄聊几句,有个不错的了解。做这个测试,可以显示出我这个页面能够承受多少用户多少次访问的响应时间。找到一个最好的点,符合用户点开页面的等待时间。如果算把程序压倒的话,我估计第三次测试已经可以了,总共2000次的请求,达到1900次的时候,已经GG了。 

        

          QPS(TPS)= 并发数/平均响应时间

        一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。


         纠正自己的错误,在之前日报里面,测试的步骤没有错误,但是每一次测试之后,并没有清除之前测试出来的参数,也就是除了第一次测试,之后的测试的都不正确,今天看资料。知道点击 图标,清除之前产生的数据。所以今天重新测试。



          了解Memcached,是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载。,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态,数据库驱动网站的速度,Memcached基于一个存储键值对的hasmap。其守护进程是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

           而Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,简单的说就是讲数据调用到内存中,然后从内存中读取,从而大大提高读取速度。


          工作原理:1 客户端第一次访问应用程序时,会到数据库(RDBMS)中取出数据,返回给客户端,同时也将取出的数据保存到memcached中。2 第二次访问的时,因为数据已经缓存,不用去数据库查询,直接memcached取。那么memcached的快速的和高效率是如何体现的,RDBMS是文件型的数据库,最终还是以文件的方式保存在磁盘上,而memcached不一样,它是key:value关系型的数据库,是保存在内存中的,内存的读写速度比磁盘读写速度快得多,前者是后者的10的6次方倍。


        在安装时,出现很多小的问题,感觉晚上是不能好好安装,放到第二天解决吧。



遇到的问题:


               自动安装libevent,检查还是未安装。自己解压memcached, 不能make



收获:


             对于Jmeter简单测试掌握,memcached和redis了解是非关系型存储,键值对。



               


返回列表 返回列表
评论

    分享到