Jmeter测试移动接口性能--性能调优

发表于:2021-11-22 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Snake    来源:知乎

  前面写了性能测试如何执行并得到测试报告。现在要开始最重要的一步了。性能调优。
  说句实话,性能调优这块我并没有太多的经验。只是简单参与,以及和别人探讨过。
  性能测试不单单是性能测试工程师一个人的事儿。需要DBA 、开发人员、运维人员的配合完成。
  性能调优这块需要掌握的东西太多了,不知道从何处下手,是从硬件开始?还是先从代码或数据库
  从操作系统(CPU调度,内存管理,进程调度,磁盘I/O)、网络、协议(HTTP, TCP/IP )?还是从应用程序代码,数据库调优,中间件配置等方面入手?
  “罗马不是一天建成的”。
  单一个中间件又分web中间件(apache 、IIS),应用中间件(tomcat 、weblogic 、webSphere )等,虽然都是中间件,每一样都是要很深厚的功底。所以好的性能测试工程师很吃香。
  一般会存在哪些瓶颈?
  1 硬件性能瓶颈: 一般指服务器的CPU、内存、磁盘I/O 的问题。
  2 数据库性能瓶颈: 数据库系统,JDBC连接池的参数设置,表关系,表设计等问题。
  3 中间件性能瓶颈:如启动服务的(tomcat 、weblogic 、IIS, nginx, JVM)等
  4 应用程序性能瓶颈:程序架构规划不合理,程序本身设计有问题(串行处理、请求的处理线程不够, 请求发送太多,资源没有压缩优化,算法,数据请求等)
  5 操作系统上的性能瓶颈: 一般指的是windows、UNIX、Linux等操作系统。
  6 网络瓶颈: 网络的带宽,传输速率,防火墙、交换机等设备的瓶颈。
  如何优化?
  找到了可能出现性能瓶颈的地方,优化起来就有的放矢了。
  1 对于服务器和网络硬件: 简单粗暴的方法, 增加硬件,负载均衡。曾经跟一个运维总监讨论过。他说现在服务器都是刀片,而且价格已经降下来了,可以增加刀片。并且服务器集群可以做负载均衡。有算法可以选在就近网络回路。
  2 数据库: 可以优化表结构,优化查询,用游标,用存储过程等来提高性能。还可以优化连接池的配置,缓存机制等
  3 中间件:调优参数
  4 应用程序性: 请求资源打包压缩,Ajax机制,本地缓存,减少发送请求,优化算法等。
  目前想到的就只有这些,如果有不正确的地方,还请斧正。
  大公司如何做性能测试?
  马上双11就要来临了,各大电商,物流机构,一个整个生态链都要面临巨大流量检验。用Jmeter测试肯定不行的,都不是一个数量级别的测试。
  曾经听过某大型旅行网站的分享(刚刚还出丑闻的那个),它们把线上的流量record下来,然后隔离开部分服务器当堡垒机。
  把数据简单清洗,通过gor, tcpcopy等引流,导流(可以放大,缩小)到堡垒机上进行压测。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号