一、JMeter简单使用添加线程组,在线程组里设置要测试的线程数等。在线程组里添加HTTP请求默认值(设置请求ip端口号等)、HTTP请求(测试哪个页面)、需要查看的结果等。在聚合报告里可以看到设置1000个线程的情况下吞吐量大概为190.(windows环境)二、虚拟机环境压力测试首先在虚拟机服务器中安装JDK以及MySQL。把项目打包,JMeter打包,发布到虚拟机中。在linux中执行./jmeter.sh-n-tfirst.jmx-lresult.jtl进行压力测试,把结果保存在result.jtl中。用xftp传到windows中查看结果。结果如下。由于虚拟机分配的内存较少,所以吞吐
项目场景实现一个商品秒杀的功能,能后台自定义秒杀时间段、商品库存等信息。一、设计思路这里简单分享下思路:1.限流秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增,由于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。这里使用基于Redis简单粗暴的限流方案:信号量(Semaphore)信号量就是可以被多个线程同时持有的一种同步对象,比如我设置一个值为5的计数信号量,那么现在有十个线程来获取他就只会有五个可以成功,剩下那五个则获取失败。所以说如果有个计数信号量定义的值是1,那么他其实就等同于mutex(互斥锁)2.具体流程这里首先需要明确如何缓存秒杀的商
项目场景实现一个商品秒杀的功能,能后台自定义秒杀时间段、商品库存等信息。一、设计思路这里简单分享下思路:1.限流秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增,由于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。这里使用基于Redis简单粗暴的限流方案:信号量(Semaphore)信号量就是可以被多个线程同时持有的一种同步对象,比如我设置一个值为5的计数信号量,那么现在有十个线程来获取他就只会有五个可以成功,剩下那五个则获取失败。所以说如果有个计数信号量定义的值是1,那么他其实就等同于mutex(互斥锁)2.具体流程这里首先需要明确如何缓存秒杀的商