nginx调优方向: 1.所用事件处理模型 2.进程数 3.每个进程的连接数 4.压缩 5.缓存 tomcat调优方向: 1.内存 2.总内存 3.初始申请内存 4.线程内存 5.GC方面 tomcat和nginx往往不会是瓶颈的所在,瓶颈一般跟后端数据处理及代码逻辑方面有关系,并且在项目中如何利用好缓存是非常重要的. 压测一个网站的大概步骤: 1.如果是从互联网上压测过来的,出口带宽要提前跟IDC方沟通好暂时提升带宽 2.考虑1台nginx的配置是否能满足压测量,如内存/CPU能够满足则对ng…
文章目录 前言 一:Tomcat安装部署 1.1:Tomcat简介 1.2:Tomcat核心组件 1.3:Tomcat处理请求的过程 1.3.1:请求过程基本解释 1.3.2:请求过程详细解释 1.4:Tomcat部署步骤 1.4.1:下载并安装jdk 1.4.2:安装并启动Tomcat 1.4.3:缩短Tomcat启动时间 1.4.4:Tomcat目录结构 二:虚拟主机配置 2.1:虚拟主机概述 2.2:举例:通过两个域名访问到不同的项目内容 2.2.1:步骤 2.2.2:创建erbao和sa…
1)安装jmeter和Badboy. 2)用badboy录制脚本,保存之后直接导出. 3)用jmeter打开badboy录制的脚本,假如是有参数的话,需要写一个csv的参数化文件,在jmeter中添加CSV Data Set Config,然后加载这个文件的路径. 4)添加查看结果树和聚合报告,因为有参数,需要配置一下参数.然后单击那个绿色的开始按钮. 5)点击查看结果树,可以看到具体的每一个测试的结果,同时看到每一个参数. 6)查看聚合报告,我们可以看到我们的出错率.压力测试的成功率等信息.…
1.本次对比基础环境信息如下: springboot版本1.5.10 centos虚机4c6G,版本7.4 centos实机2u16c40G,版本7.4,虚机运行在实机上 ab版本2.3 jprofiler版本9.1.1 2.压测接口说明 天花板:指的是一个空接口,没有任何实现,直接返回,如 @RequestMapping(value = "/test", method = RequestMethod.GET) public void test() { } 服务接口:指的是具有一定业务…
调优几个重要指标 GC频率 提升每次GC的效率 准备环节 jmeter的配置 未压测前JVM配置 工程未调优前配置 -Xms400m -Xmx400m -XX:PermSize=64m -XX:MaxNewSize=128m -XX:MaxPermSize=128m -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:gc.log 环境配置 Tomcat在台式机上 每次压测前清除gc.log,重启Tomcat 分钟 结果分析 通过GC日志分析GC…
问题描述:web api项目接口压测.前期并发100,500没出现问题,平均耗时也在几百毫秒.当并发1000时候,停留等待许久,看现象是jemeter卡住,没返回,时间过了许久,才正常. 解决过程: 查看服务器应用程序日志,查看项目全局捕获日志,查看服务器cpu,内存,网络.一切正常 查看客户端和服务端之间的Tcp连接:netstat -ano | find /c "***.***.***.***",连接一直处于通信状态一直没有释放.卡住剩余的连接数和没释放的连接数相同.好像有点端倪了…
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口进行压测,对于Locust的使用我们可以归纳为三步: 1. 编写python压力测试脚本: 2. 在命令行中启动Locust服务并指定压测脚本与hosts等信息: 3. 访问Locust本地网址设定并发量并进行压测. 启下——编写脚本 对于以上三步,我通过编写脚本来做一下进一步封装,实现化繁为简,“…
本文内容来自“天外归云”大神,原文链接http://www.cnblogs.com/LanTianYou/p/5987741.html,目前只对启动脚本做了一些改造,应该说是,不适用powershell脚本,而使用bat批处理文件执行.之所以这么做,是考虑到powershell脚本运行权限默认没有开启,再者,开启了之后存在一定的风险.故做了这个简单的改造. 结构目录如下:…
原文地址:还在寻找.... 一个web系统,前端使用nginx做为反向代理,处理https,并将请求转发给后端的tomcat服务. 压力测试工具选择了jmeter. 首先简单介绍一下jmeter. 它是apache的一个开源项目,基于java swing开发的GUI界面. jmeter提供了许多高级的功能,但我们仅仅使用了jmeter最简单的功能.在简单的jmeter使用中,我们涉及到这么几个概念:测试计划,线程组,测试任务,和Listener.看下面的图: 在一个名为“测试”的测试计划下, 我…
不久前参与开发了一个基于dubbo分布式框架的底层账单系统,并实现了其中的一部分业务接口,目前需对这些接口进行压测,以评估生产环境所能承受的最大吞吐量.笔者以其中一个查询接口为例来回顾此次压测的整体流程. 压测准备: 1.调用查询接口的测试jar包,作为dubbo-consumer,依赖了查询服务的api,测试module基于maven开发,执行maven clean package即可通过编译得到jar包 2.JMeter:Apache组织开发的基于Java的压力测试工具 方案: 无限次请求查…