apachebench

使ApacheBench支持multi-url

徘徊边缘 提交于 2020-09-24 04:57:57
目录 1、下载Apache httpd相关源码包以及针对ab工具的patch包 2、编译安装apr 3、编译安装apr-util 4、替换httpd源码里面的ab.c文件 5、编译安装httpd 6、验证结果 由于标准的ab只支持对单个uri进行压测,不满足实际需要,故做以下修改,使ab支持multi-url。 1、下载Apache httpd相关源码包以及针对ab工具的patch包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.37.tar.gz wget https://github.com/philipgloyne/apachebench-for-multi-url/archive/master.zip 注:httpd依赖于apr和apr-util 2、编译安装apr tar -zxf apr-1.6.5.tar.gz cd apr-1.6.5 ./configure --prefix=/usr/local

手把手教你,嘴对嘴传达------Apache --ab测试

空扰寡人 提交于 2020-08-20 06:51:34
文章目录 一、ab的原理 二 、ab测试结果关键参数说明 1、ab常用参数 三、实验步骤 1、一键编译安装apache 2、一键配置dns服务 3、在网站首页放张图片 4、没压缩之前ab测试一下 5、压缩之后测试 6、再重新测试 一、ab的原理 ab是apachebench命令的缩写。 ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。 二 、ab测试结果关键参数说明 1、ab常用参数 -n :总共的请求执行数,缺省是 1 ; -c: 并发数,缺省是 1 ; -t:测试所进行的总时间,秒为单位,缺省 50000 s -p:POST时的数据文件 -w: 以HTML表的格式输出结果 具体如下 Server Hostname: 192.168 .110 .132 #请求的URL主机名 Server Port: 80 #请求端口 Document Path: / #

apr_socket_recv: Connection reset by peer (104)

♀尐吖头ヾ 提交于 2020-08-12 14:00:01
apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104)) [root@aa~]# This is ApacheBench, Version 2.3 <> Copyright 1996 Adam Twi, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.1.176 (be patient) Completed 300 requests Completed 600 requests Completed 900 requests apr_socket_recv: Connection reset by peer (104) Total of 1085 requests completed 查看应用服务器和数据库均未报错,连接被重置,bingyi了以下,apr_socket_recv这个是操作系统内核的一个参数,在高并发的情况下,内核会认为系统受到了SYN flood***,会发送cookies(possible SYN flooding on port 80. Sending cookies)

nodejs性能分析

痞子三分冷 提交于 2020-07-28 07:18:51
方案1 v8-profiler 1. v8-profiler 添加node性能收集埋点 2. Apachebench压力测试 ab -t 300 -c 10 -p post.txt -T " application/json " http: // localhost:8008/xxx 3. v8-profiler 收集得到 cpuProfile 4. 用chrome的开发者工具 More-tools -> JavaScript Profiler -> Load,读取cpuProfile,查看火焰图 5. 或者使用speedscope根据cupProfile生成火焰图,支持leftHeavy模式,直接将CPU占用率最高的排在最左边,一目了然,快速的可以定位到问题。 方案2 chrome inspect 1. inspect模式启动node程序 node --inspect ./app.js 2. inspect模式启动chrome chrome: // inspect 3. Apachebench压力测试 ab -n 1000 -c 20 http: // localhost:3000/ 4. 生成profile文件 完成压测之后停止服务,选择save保存文件 5. 使用speedscope根据cupProfile生成火焰图 npm install - g speedscope

Apache Bench Web 压力测试

泄露秘密 提交于 2020-07-28 03:48:30
导读 这篇文章主要介绍了如何通过Apache Bench实现web压力测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。 一、Apache Bench简介 ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个 命令 行工具,对发起负载的本机要求很低,根据ab 命令 可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。 二、Apache Bench安装 首先需要安装Apache服务器,下载地址: https://www.apachelounge.com/download/ ,64位操作系统选上面一个压缩包。 安装 Ubuntu   1: 使用apt在线安装:sudo apt install apache2-utils   2: 检查安装是否成功:ab -V 使用常用参数说明 测试报告解读 例子 (1) 模拟1个客户端请求100次: ab -n 100 http://www.example.com/ (2) 模拟100个客户端请求10000次: ab -n 10000 -c 100 http://www.example.com/

ubuntu 使用 Apache Bench 进行并发测试

风格不统一 提交于 2020-07-26 23:24:28
安装 apt install apache2-utils -y 简单使用 -n 说明请求次数,-c 说明并发量 ,注意最后一定要有斜杠 ab -n 1000 -c 50 https://www.ahaoboy.cn:80/ 详细参数说明 参数说明: 格式:ab [options] [http://]hostname[:port]/path ​ -n requests Number of requests to perform //本次测试发起的总请求数 -c concurrency Number of multiple requests to make   //一次产生的请求数(或并发数) -t timelimit Seconds to max. wait for responses    //测试所进行的最大秒数,默认没有时间限制。 -r Don't exit on socket receive errors. // 抛出异常继续执行测试任务 -p postfile File containing data to POST  //包含了需要POST的数据的文件,文件格式如“p1=1&p2=2”.使用方法是 -p 111.txt ​ -T content-type Content-type header for POSTing //POST数据所使用的Content-type头信息

How to send more than one query string in Apache Bench?

我们两清 提交于 2020-01-23 05:41:47
问题 ab -n 1 -c 1 http://localhost:2020/welTo.do?pxtId=3000007937&superDo=jack I got answer for first query string but i also get 'superDo' is not recognized as an internal or external command, operable program or batch file. Please help me TIA Regards thiru 回答1: You probably just need to quote the URL to avoid shell special characters from being interpreted. In this case your & symbol is causing the text to the left to be run in the background while attempting to run superDo as a command. ab -n 1

某个应用的CPU使用率居然达到100%,我该怎么办?

好久不见. 提交于 2020-01-06 18:58:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文是通过学习极客时间专栏《Linux性能优化实战》05 | 基础篇:某个应用的CPU使用率居然达到100%,我该怎么办? CPU 使用率 为了维护 CPU 时间,Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间中断,并使用全局变量 Jiffies 记录了开机以来的节拍数。每发生一次时间中断,Jiffies 的值就加 1。 节拍率 HZ 是内核的可配选项,可以设置为 100、250、1000 等。不同的系统可能设置不同数值,你可以通过查询 /boot/config 内核选项来查看它的配置值。比如在我的系统中,节拍率设置成了 250,也就是每秒钟触发 250 次时间中断。 $ grep 'CONFIG_HZ=' /boot/config-$(uname -r) CONFIG_HZ=250 同时,正因为节拍率 HZ 是内核选项,所以用户空间程序并不能直接访问。为了方便用户空间程序,内核还提供了一个用户空间节拍率 USER_HZ,它总是固定为 100,也就是 1/100 秒。这样,用户空间程序并不需要关心内核中 HZ 被设置成了多少,因为它看到的总是固定值 USER_HZ。 Linux 通过 /proc 虚拟文件系统,向用户空间提供了系统内部状态的信息,而 /proc/stat 提供的就是系统的

Failed requests by length in my ApacheBench load test result

五迷三道 提交于 2019-12-29 19:46:10
问题 I have a website in PHP, Lighttpd. It uses also MySQL on Centos 5. I've tested my PHP with code below with Apache Bench (ab). It resulted in some errors (Failed Requests) indicating other length than normal. I'm absolutely sure that my PHP result should always have the same exact length. I've reviewed my Lighttpd and MySQL logs and error logs and don't have any errors there. Is there any way to check exactly what ab gets when result has other length or is there any other way to find out what