性能测试

使用ab对nginx进行压力测试

眉间皱痕 提交于 2019-12-07 13:40:38
nginx以高并发,省内存著称。 相信大多数安装nginx的同学都想知道自己的nginx性能如何。 我想跟大家分享下我使用ab工具的压力测试方法和结果, ab是针对apache的性能测试工具,可以只安装ab工具。 ubuntu安装ab apt-get install apache2-utils centos安装ab yum install httpd-tools 测试之前需要准备一个简单的html、一个php、一个图片文件。 分别对他们进行测试。 我们把这个三个文件放到nginx安装目录默认的html目录下, 准备之后我们就可以测试了 ab -kc 1000 -n 1000 http://localhost/ab.html 这个指令会使用1000个并发,进行连接1000次。结果如下 root@~# ab -kc 1000 -n 1000 http://www.nginx.cn/ab.html This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Linux性能实时监测工具 Netdata

人走茶凉 提交于 2019-12-07 11:32:08
今天给大家推荐一款给力的Linux性能实时监测工具Netdata。上图是运行时的截图。Netdata是一个高度优化的Linux守护进程,它为Linux系统,应用程序,SNMP服务等提供实时的性能监测。 它用可视化的手段,将被监测者最细微的细节,展现了出来。这样,你便可以清晰地了解你的系统和应用程序此时的状况。 使用此软件,你可以得到: 1.优美的界面:bootstrap框架下的控制界面 2.自定义的控制界面:你可以使用简单的HTML代码去自定义控制界面(不需要使用javascript) 3.极其的快速而高效:程序使用C进行编写(默认安装下,预计只有2%的单核CPU使用率和少许的内存使用率) 4.零配置:你只需要去安装它,接着它就会自动地监测一切数据 5.零依赖:它的静态网络文件和网络接口拥有自己的网络服务器 6.可扩展:用它自身的插件API(可以使用许多方式来制作它的插件,从bash到node.js),你可以检测任何可以衡量的数据。 7.可嵌入:它可以在任何Linux内核可以运行的地方运行 监测内容: 这是它目前检测的内容(大多数都不需要进行配置,安装后即可开始监测) 1.CPU的使用率,中断,软中断和频率(总量和每个单核) 2.RAM,互换和内核内存的使用率(包括KSM和内核内存deduper) 3.硬盘输入/输出(每个硬盘的带宽,操作,整理,利用等) 4.IPv4网络(数据包

TechEmpower 框架性能测试数据 - 新解读

别说谁变了你拦得住时间么 提交于 2019-12-06 20:21:25
1. TechEmpower Framework Benchmark 介绍 TechEmpower 框架性能大比拼平台从 2013 年 3 月开始以来已经历经了 18 轮测试,参与这个平台的框架平台产品也从一开始的 24 种增加到今天的 659 种! 可以说这个平台已经是业界的标准性能测试平台,在 Web 框架性能测试领域的地位大概能和 PassMark 在 CPU 性能测试领域的地位相当. TechEmpower 自身提供的棒图直观地呈现框架的 Throughput (吞吐量, 即每秒处理请求数): 而 TechEmpower 在测试过程中还收集了其他类型的数据,包括: Latency (时延 - 从发起请求到收到响应的平均时间) Memory (内存占用) CPU (CPU 占用百分比) 2. TFB VIS 可视化网站 最近出现了一个新网站提供了另外几个数据的可视化呈现: https://ajdust.github.io/tfbvis/ 这个网站打开是这样的: 默认排序是吞吐量,但可以通过点击列标题下面的空白部位切换排序列,比如点击红色箭头指向部位按照时延排序: 可以选择不同的 TFB 测试项目: 选择显示的框架: 遗憾的是目前该页面只能支持两个过滤条件: 3. ActFramework vs. Spring Framework 下面我们就来看看 Spring 和 Act

模仿Go语言的Benchmark测试框架写了JAVA版的简化测试工具

亡梦爱人 提交于 2019-12-06 17:05:54
为了更方便的进行JAVA和Go的性能对比,于是有了搞个和Go类似的Benchmark测试框架的念头。看了两天Go的Benchmark.go源代码,写了个JAVA版的简化Benchmark测试工具。目前仅仅支持测试指定的单个文件、指定的包和当前目录下的所有文件等3个功能。功能非常的简单,够我自己用了。 这里下载性能测试框架的源代码: BenchmarkRunner.java 在阅读Go的源代码过程中,感觉Go的接口太灵活了,很多简化的写法,让不熟悉这种风格的人头大。一会是面向对象,一会又转成函数式编程,对从JAVA世界转过来的人来说,很不适应。在实现Benchmark工具的过程中,最麻烦的就是控制循环次数、步进长度和时间。在调试过程中,一不小心,出现了10亿次的循环,搞的我很郁闷。目前我没找到很好的解决办法,暂时就把被测试操作的单次运行时间限制在1秒内,循环次数控制在1百万次之内。等以后有需要再补上可以参数调整的运行时间和循环次数。 使用方法: 首先在 JAVA 类里面,定义相关的 Benchmark 开头的测试方法。例如, public void BenchemarkDoubleToString(B b){ for (int i = 0; i < b.n; i++) { // 这里放需要性能测试的方法 String tmp =""+flist[j]; } } 然后,执行

性能测试

十年热恋 提交于 2019-12-06 08:20:28
1、需求分析阶段就应该参与,可以深入了解系统业务、重要功能的业务逻辑。 2、定性能指标:迭代项目、新项目。迭代项目根据生产监控、日志分析来评估指标,这里需要做容量规划,新项目单独评估。 3、性能指标:   tps:每秒处理事物数,通常都是通过的食物   art:平均响应时间,以及并发数   服务器资料利用率的要求(CPU,内存,IO,网络等)   各个服务的资源情况。 4、熟悉系统架构,申请性能测试环境   web服务器、应用服务器、缓存数据库服务器、数据库服务器、文件服务器等。   主流技术栈:nginx、dubbo、mysql、redis、jvm等 5、制定性能测试方案   项目背景及架构分析;   需要的资源   技术策略(比如压测、监控、分析工具选择等)   场景设计   计划什么时候做什么事等 6、搭建测试环境、准备测试数据   测试数据分为:基础环境数据和业务数据;   基础环境数据可以从功能测试的库导过来,改一些配置即可;   业务数据:存量数据+容量规划数据,比如一个查询接口,都是并发100用户,对应的表数据量是1万和100万,压测结果是不一样的。   数据量要参考生产环境,新项目除了空库压,最好也做存量数据压。 7、压测脚本开发   主流程稳定,调试被测接口、开发压测脚本   客户端并发工具:推荐使用jmeter,主流、开源、请量、免费、功能强大 8、预压测  

Locust 接口性能测试 - 转载一 (后期熟悉实践自己出一套完整的)

 ̄綄美尐妖づ 提交于 2019-12-06 02:57:07
转载大佬 ,。。 记录一下接口性能测试的学习 先熟悉一下概念: Locust是使用Python开发的支持分布式的一款开源压力测试工具,Locust在测试时,会产生大量的用户对系统进行访问,每个用户的行为是通过Python代码控制的,并且整个测试过程可以在Web的UI界面实时观察测试数据。 Locust在单台机器上能够支持几千并发用户访问,Locust内部采用了协程gevent,通过采用分布式的方式,理论上Locust工具能够模拟无数的用户。 1.安装locust:直接$ pip install locustio 即可 安装的过程中会安装其他一些依赖的库,不要慌张,安装结束如上图,查看是否安装可以用 locust -h 来验证,当现实各种命令就是安装成功了! 2.安装完成后开始来写一个性能测试脚本 解释一下:baiduy_page()方法表示一个用户行为,使用@task修饰该方法是一个事务,client.get()用于指定请求路径,因为是百度首页所以用‘/’指定为根路径 websiteuser类用于设置性能测试 task_set :定义一个用户行为类 min_wait :执行事务之间用户等待时间的下界(ms) max_wait: 用户等待时间的上界 下面来启动性能测试: -f :指定性能测试脚本文件 --host :指定被测试应用的url地址,注意,访问百度使用的是https协议

【腾讯优测干货分享】从压测工具谈并发、压力、吞吐量

你。 提交于 2019-12-06 01:20:17
本文来自于 腾讯bugly开发者社区 ,非经作者同意,请勿转载,原文地址: http://dev.qq.com/topic/580d914e07b7fc1c26a0cf7c 前言 随着部门业务的拓展,我们有了很多性能测试的机会,但在实战中,慢慢发现,我们对性能测试的理解并不如自己想的那么清晰,对基本概念和理论的混淆,导致对测试结果的不够自信,测试过程也常会面临质疑。 所以这一次,我们不说性能测试怎么做,先一起梳理下性能测试的基本理论,分析这些理论如何在压测工具中产生影响。 系统性能描述 描述一个系统的性能从来不是一句话或是一个数值的事。 在IEEE的定义中 :性能是系统或组件在给定约束中实现的指定功能的程度,诸如速度、正确性、内存使用等。 所以性能测试报告中,对系统性能的描述应该是多方面的,如:执行效率、稳定性、兼容行、可靠性、可扩展性容量等;其中,执行效率通过 并发 用户数、响应时间、 吞吐量 、成功率、资源消耗综合体现。 并发测试 性能测试有:负载测试、压力测试、配置测试、并发测试、容量测试、稳定性测试。 其中,并发测试是测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。 在实际的压测中,我们基本上都是设置多个并发,再进行负载测试、压力测试等,因为现实中,我们的系统就是面对多个用户的同时使用,并且,并发用户的数量,直接影响着系统资源的消耗

Web Service性能测试工具比较

不打扰是莪最后的温柔 提交于 2019-12-06 01:02:41
背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒)。 以微信服务器为例,每个用户用独立的登录token,做各种操作,比如刷消息、发消息、看朋友圈等。 希望该性能测试工具符合如下要求: 测试脚本能力,最好是Python/Ruby等最常用的 每个并发实例能使用不同参数 CLI启动测试,这对自动化测试很重要 Session支持,也就是第一个请求的响应,能用于后续请求的参数。 单个结点的并发数量高。 分布式支持,不受限于单个结点的计算能力。 性能测试工具选手: Gatling http://gatling.io/ Gatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标。Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等,除此之外它拥有以下特点: 支持Akka Actors 和 Async IO,从而能达到很高的性能 支持实时生成Html动态轻量报表,从而使报表更易阅读和进行数据分析 支持DSL脚本,从而使测试脚本更易开发与维护 支持录制并生成测试脚本,从而可以方便的生成测试脚本 支持导入HAR(Http Archive)并生成测试脚本 支持Maven,Eclipse,IntelliJ等

JMeter性能测试,完整入门篇

纵然是瞬间 提交于 2019-12-06 00:26:07
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows 10系统,JDK版本为1.8,JMeter版本为3.3。 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1. 官网下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. 选择Java SE 8u151/ 8u152,点击JDK下载 3. 安装下载的JDK 4. 配置系统环境变量 2.2 JMeter安装 官网下载地址: http://jmeter.apache.org/download_jmeter.cgi 下载最新JMeter 3.3版本:apache-jmeter-3.3.zip

HTML5高性能拓扑图

元气小坏坏 提交于 2019-12-06 00:25:48
本文的话题是:性能,HTML5、JS、Qunee组件的性能和效率问题 历史回顾 以往提到Javascript,联想到的是缓慢的、容易出错的小东西,一种脚本语言,现在浏览器的发展,js引擎的优化,js已经今非昔比,无论在浏览器端还是服务器端,都有一席之地,结合HTML5开发企业级应用变得切合实际,以往要在浏览器中实现丰富的图形效果,通常会选择flex富客服端解决方案,也有些Web2.0时代的组件,比如Extjs,以及各种图表组件,但性能上并不理想,随着HTML5的普及,Web组件有了新的思路,抛弃老IE浏览器,了却后顾之忧,实现真正的高性能,这一点Qunee图形组件已经将Flex远远抛到脑后,实现 上万图元,流畅操作 静态拓扑图性能 首先是常规的性能参数,拓扑图加载时间,通过对连线的简化,使用Qunee开发版本,可以两秒内渲染一万图元,而且平移缩放,节点移动,框选都非常流畅,甚至我们测试过十万数量级,五年前的老机器上测试,可以在二十多秒渲染,而且依然可以操作,导出2亿像素的超大图也没问题,详情可参看后面的视频效果 Qunee拓扑图加载时间报表 动态拓扑图性能 还有一种动态图的情况,通过动画或者不停的更改图元样式,或者增减操作,拓扑图频繁刷新,我们选择一个弹簧布局来测试这种场景下qunee组件的表现,结果是两千数量级时表现流畅,六千数量级时依旧可用,详情参看视频后半段