问题背景:

今年公司项目进行Saas化转型,在中间遇到很多问题,其中之一就是 Saas化后多租户的性能 和 并发问题。公司让我来调研和重现问题,通过调研总结了一些经验教训,分享给大家。


环境:

  • LoadRunner 11.0 (支持60000+并发)
  • LoadRunner 12.0 (适用版本 50并发,新版本比较好用,录制脚本不错,汉化很好)
  • WindowServer 2012 R2 (在服务器上搭建测试环境)
  • IIS
  • Vmware虚拟机(虚拟机安装了 LoadRunner 12,来录制脚本)
  • PostMan接口测试工具(保证测试前的接口调用是正常的)

下载地址:百度云 https://pan.baidu.com/s/1f3uatZmofUNyifxD9AvRIA


关于安装:

  • 安装 windows Server 2012。
  • 安装 LoadRunner 11.0,不要安装汉化包,只在上面做并发场景测试。
  • 安装Vmawre,安装系统,安装Loadrunner 12,做脚本录制。也可以录制脚本,就是觉得不好用,所以用的12做录制。

调研:

  • LoadRunner 如何使用 ??
  • LoadRunner 名词解释??
  • LoadRunner 代码录制??
  • LoadRunner API编码??
  • LoadRunner 场景压力测试??
  • LoadRunner 结果分析??
  • 踩过的坑??

安装教程:

https://blog.csdn.net/drf91519/article/details/78768665

https://www.cnblogs.com/xiaoqingSister/p/5906642.html

名词解释:

https://www.cnblogs.com/chengchengla1990/p/5799053.html

https://www.cnblogs.com/pearlpanda/p/4057046.html

代码录制:

https://litboy.kuaizhan.com/17/62/p4103840010edaf

参数化:

https://www.cnblogs.com/wxh04/p/8986450.html

https://blog.csdn.net/milan_ebk/article/details/5173978

集合点:

https://blog.csdn.net/huangjin0507/article/details/52161299

API文档:

https://wenku.baidu.com/view/4ce602dd6f1aff00bed51eff.html

结果分析:

** 要多做测试方案,结合自己的场景多分析问题,下面就是在项目中分析的问题(表现,数据库数据,日志等)

表现:

100个数据库,300左右并发量。CPU使用率正常,数据库读写正常。

猜测:

数据库死锁:这点目前来看是不成立的,因为1000个虚拟用户访问的频率是差不多的,1个数据库没有死锁,分摊到100个数据库应该是可以正常处理的
内存溢出(缓存、可以使用内存工具查看那些内存高)

最后项目的问题是:

深入研究EF Core AddDbContext 引起的内存泄露的原因

https://www.colabug.com/3076902.html

目前已经升级框架到最新asp.net core。问题得到很好的修复。


踩过的坑:

  • 谷歌浏览器录制代码打不开,可以使用fang~qiang工具。估计是和浏览器需要调用谷歌api有关具体不详。
  • 可以删除录制代码里面不需要的代码。自己把握。
  • 综合理解其概念过后很多可以自己写代码。具体可以参见API。
  • 保持测试环境是比较困难的,因为每一次测试都得还原最初始的环境,因此需要些一些脚本或者工具来自动还原数据库等。
  • 测试比较花时间,但是对项目实际的价值比较高。
  • 要经常总结并记录测试结果,调整测试方案。
  • 中途还用过内存检测工具,并没有发现什么问题。

Loadrunner 进行压力测试 并发测试的更多相关文章

  1. 实验二. 使用LoadRunner进行压力测试

    实验二. 使用LoadRunner进行压力测试 一. LoadRunner 概要介绍   1.1简介   LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具.通过以模拟上千万用户实 ...

  2. Apache压力(并发)测试工具ab的使用教程收集

    说明:用ab的好处,在处理多并发的情况下不用自己写线程模拟.其实这个世界除了LoadRunner之外还是有很多方案可以选择的. 官网: http://httpd.apache.org/(Apache服 ...

  3. Jmeter对HTTP请求压力测试、并发测试的简单使用方法

    对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去尝试了解测试的知识. 首先我们的需求场景如下: 服务器硬件:(只有一台) 系统:Windows 2003 WebServer:Tomca ...

  4. Apache ab 压力并发测试工具

    当你使用PHP(或其他编程语言)完成一个web程序的开发,并且web程序在Apache服务器上正常运行的时候,你有没有考虑过对你的Apache服务器及部署在其上的web程序进行一些压力测试呢?毕竟,真 ...

  5. Jmeter对HTTP请求压力测试、并发测试

    最近公司需要开发一个简单的报名系统,供外网用户提供报名服务,由于我们公司是个初创的微型公司,开发人员都是刚毕业不久,开发经验相当缺乏. 对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去 ...

  6. Jmete压力测试、并发测试的简单方法

    我们的需求场景如下: 服务器硬件:(只有一台) 系统:CentOS 7 WebServer:Tomcat 7.0 Jdk:1.8 CPU:8核 2.9GHz两个 内存:16g 报名应用系统:只需要向外 ...

  7. 今天写了一个可以测试并发数和运行次数的压力测试代码。(Java)

    今天写了一个可以测试并发数和运行次数的压力测试代码 介绍一下为什么会写这么一个工具. 介绍一个这个工具怎么用的. 背景 最近在开发CoapServer端,以及模拟设备侧发送数据调用开发好的CoapSe ...

  8. 使用JMeter3.0实战之分布式并发测试以及web API接口测试

    简介: 该文档是以Apche JMeter-3.0为例进行编写的,通过网上的学习资料和官方文档的说明手册学习后,进行项目操作实践,将测试的过程记录下提供给大家学习. 本博文的内容主要是进行配置JMet ...

  9. web性能并发测试工具(转)

    导读:随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生 ...

随机推荐

  1. HTML文件通过jQuery引入其他HTML文件报错has been blocked by CORS policy

    HTML通过jQuery引入模板 完整报错 新创建一个chrome快捷方式,命名为chrome-debug 右键属性,在目标后添加参数,原始路径如下 "C:\Program Files (x ...

  2. js forEach参数详解,forEach与for循环区别,forEach中如何删除数组元素

     壹 ❀ 引 在JS开发工作中,遍历数组的操作可谓十分常见了,那么像for循环,forEach此类方法自然也不会陌生,我个人也觉得forEach不值得写一篇博客记录,直到我遇到了一个有趣的问题,我们来 ...

  3. 让iphone5s 支持 flex 布局

    /* Center slide text vertically */display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;di ...

  4. oracle11g安装教程

  5. sqlserver 问题来了,视图不会自动更新,如果是用*创建的

    奇葩问题一个 create view时候用的select * 关联了几个表创建的. 后修改select *  的表,结果悲剧了. select * from 视图得到的结果绝对让你想哭.不报错,不提示 ...

  6. WeTest全球化服务,为使命召唤手游质量保驾护航

    导读 使命召唤系列作为经典FPS游戏,以良好的表现与出色的射击手感,颠覆了玩家对传统第一人称射击的传统观念.同名手游(CODM)10月份在海外上线,仅一周内下载量就已突破一亿次,更是横扫139个国家及 ...

  7. HTTP协议中的chunked编码解析

    \r\n\r\n"了. chunked编码很简单,是不是? 不过,在协议还原的实现过程中,如何高效高性能地对chunked进行解码,是一件值得挑战的事哦.毕竟,HTTP的流量占比不小的. 长 ...

  8. arcgis api for javascript 学习(二) 发布并调用地图切片

    文章将从发布切片地图到调用切片地图整个过程都展示出来. (一).切片地图的发布 1.还是前面的arcgis展示的地图 2.与发布动态地图前面的步骤是一样的 打开分享后,如图 3.一切就绪后,到达缓存的 ...

  9. 4.智能快递柜(通信篇-SOCKET)

    1.智能快递柜(开篇) 2.智能快递柜(终端篇) 3.智能快递柜(通信篇-HTTP) 4.智能快递柜(通信篇-SOCKET) 5.智能快递柜(通信篇-Server程序) 6.智能快递柜(平台篇) 7. ...

  10. ABP进阶教程5 - 多语言配置

    点这里进入ABP进阶教程目录 更新脚本 打开展示层(即JD.CRS.Web.Mvc)的\wwwroot\view-resources\Views\Course\Index.js //用以存放Cours ...