压力测试

如何安全地进行ddos压力测试?

拜拜、爱过 提交于 2019-12-02 06:23:36
随着 DDoS 攻击的成本越来越低,导致其越来越常见。寻找有效的 ddos 防御 方法是现在每个网站都需要关注的问题。DDoS的攻击方式有很多种,最基本的DDoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。想要有效地防范 ddos ,可以适当的测试服务器的承受能力。 1 、保证服务器系统的安全 首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。在服务器上删除未使用的服务,关闭未使用的端口。对于服务器上运行的网站, 确保其打了最新的补丁,没有安全漏洞。 2 、隐藏服务器真实IP 服务器前端加 CDN 中转(免费的有百度云加速、360网站卫士、加速乐、安全宝等),如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP, 所有解析的子域名都使用CDN的IP地址。此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析。 另外,防止服务器对外传送信息泄漏IP,最常见的是,服务器不使用发送邮件功能,如果非要发送邮件,可以通过第三方代理(例如sendcloud)发送,这样对外显示的IP是代理的IP。 总之,只要服务器的真实IP不泄露,10G以下小流量DDOS的预防花不了多少钱,免费的CDN就可以应付得了。如果攻击流量超过20G,那么免费的CDN可能就顶不住了

使用jmeter进行压力测试入门讲解

柔情痞子 提交于 2019-12-02 00:14:56
1.下载安装jmeter 略 我这里放上5.1版本的,有需要可以下载 链接:https://pan.baidu.com/s/1xRZZmTY4do1oDU_xPit94Q&shfl=sharepset 提取码:r1ba 2.在bin目录下,使用管理员方式运行jmeter.bat 随之会打开jmeter的GUI界面,注意不要关闭运行的jmeter.bat窗口,不然GUI界面会随之关闭 此时,注意看这个提示 大概意思就是,不要使用GUI页面进行压力测试,它只是进行测试的创建和查看,如果进行压力测试,请使用CLI Mode 也就是CMD命令窗口,使用命令的方式运行线程组;   这样做的好处是可以节省性能,同样也不是不能使用GUI界面进行压力测试,只是不推荐使用; 在GUI界面的options选项中点击choose language 可以调整为中文格式 3.创建一个线程组 1).右键点击测试计划创建线程组 2)填上相关参数 参数说明: Name:创建的线程组的名称,使用命令的方式进行测试的时候会用到; Action to be taken after a sampler error:这里面让你选择假如遇见错误了,进行什么操作,选择继续continue; Number of Threads:简单理解,就是发起多少个请求,我这里设置为100,一般压测在300-500,当然,看各个接口的访问量

使用jmeter进行压力测试入门讲解

纵饮孤独 提交于 2019-12-01 23:27:31
1.下载安装jmeter 略 我这里放上5.1版本的,有需要可以下载 链接:https://pan.baidu.com/s/1xRZZmTY4do1oDU_xPit94Q&shfl=sharepset 提取码:r1ba 2.在bin目录下,使用管理员方式运行jmeter.bat 随之会打开jmeter的GUI界面,注意不要关闭运行的jmeter.bat窗口,不然GUI界面会随之关闭 此时,注意看这个提示 大概意思就是,不要使用GUI页面进行压力测试,它只是进行测试的创建和查看,如果进行压力测试,请使用CLI Mode 也就是CMD命令窗口,使用命令的方式运行线程组;   这样做的好处是可以节省性能,同样也不是不能使用GUI界面进行压力测试,只是不推荐使用; 在GUI界面的options选项中点击choose language 可以调整为中文格式 3.创建一个线程组 1).右键点击测试计划创建线程组 2)填上相关参数 参数说明: Name:创建的线程组的名称,使用命令的方式进行测试的时候会用到; Action to be taken after a sampler error:这里面让你选择假如遇见错误了,进行什么操作,选择继续continue; Number of Threads:简单理解,就是发起多少个请求,我这里设置为100,一般压测在300-500,当然,看各个接口的访问量

性能测试简介

南楼画角 提交于 2019-12-01 12:28:50
性能测试曲线模型是一条随着测试时间不断变化的曲线,与服务器资源,用户数或其他的性能指标密切相关的曲线。如下图所示。 在图中,我们的曲线图主要分为3个区域,分别是:light load :轻压力区;heavy load :重压力区;和buckle load . 图中的3条曲线,分别表示资源的利用情况(Utilization,包括硬件资源和软件资源)、吞吐量(Throughput,这里是指每秒事务数)以及响应时间(Response Time)。图中坐标轴的横轴从左到右表现了并发用户数(Number of Concurrent Users)的不断增长。 在进行性能测试的时候,我们需要对图的曲线进行分析。分开来看的时候,响应时间(RT)、吞吐量(TPS)和资源利用率的变化情况分别是:   响应时间:随着并发用户数的增加,在前两个区,响应时间基本平稳,小幅递增。在第三个区域:急剧递增。在第三个区的点为拐点。   吞吐量:随着并发用户数的增加,在前两个区,对于一个良好的系统来说,并发用户数的增加,请求增加,吞吐量增加,中间的区域,处理达到顶点。   在第三个区:资源利用率:呈直线,表示饱和。 分析结论:   当系统的负载等于最佳并发用户数时,系统的整体效率最高,没有资源被浪费,用户也不需要等待;当系统负载处于最佳并发用户数和最大并发用户数之间时,系统可以继续 工作 ,但是用户的等待时间延长

压力测试

大城市里の小女人 提交于 2019-12-01 10:13:25
1.工具 JMeter    1.1 下载地址:http://jmeter.apache.org/         1. 2 安装   1.2.1 配置环境变量   1.2.2 启动 2.使用   百度一下 来源: https://www.cnblogs.com/dztHome/p/11679553.html

golang多核陷阱一例

三世轮回 提交于 2019-12-01 09:51:11
同时发布在 独立博客 。 以前一直以为,在Golang中,针对高并发的情况,采用多核处理一定效果最优,但是项目实践证明事实不是这样的。 在 Sniper 项目中(一个结合了 ab 和 siege 优点的http负载测试工具),原来一直设置cup使用数为系统cpu总数: runtime.GOMAXPROCS(runtime.NumCPU()) 在与ab的性能比较中一直有较大差距,GET请求局域网的一个10k大小的文件: 以下是ab的性能,并发100,总请求100k,执行时间16.082秒 Concurrency Level: 100 Time taken for tests: 16.082 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 1035500000 bytes HTML transferred: 1024000000 bytes Requests per second: 6218.04 [#/sec] (mean) Time per request: 16.082 [ms] (mean) Time per request: 0.161 [ms] (mean, across all concurrent requests) Transfer rate

使用 JMeter 进行压力测试

橙三吉。 提交于 2019-12-01 07:59:56
一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工具JMeter。 二.关于JMeter Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。 Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。 官网: http:

压力测试工具 nGrinder

断了今生、忘了曾经 提交于 2019-11-30 05:54:28
NHN 是 韩国 最大的互联网公司,旗下 著名产品 很多从网站到游戏无处不在 ,第一大门户网站 NAVER 在 韩国 知名度极高,还有目前风靡亚洲的“ Line ” 也是 N HN 研发的产物。 NHN 正在开源软件方面做着不屑的努力, CUBRID 数据库就 是其中的一个。 为了使产品更稳定和快速,公司从2011就开始使用 nGrinder ,这也 是本文要介绍的开源压力测试软件。 下图为nGrinder 系统框架 nGrinder本身是 JAVA WEB 应用程序,在Tomcat 服务器中运行。它由一个controller端和一个或多个Agent端组成。 nGrinder 通过用户管理实现多个用户同时使用并运行测试程序 。用户是通过web界面创建测试项目,在测试开始前controller会把测试的脚本以及相关文件发送到各个agents去运行。 测试过程是基于 Jython 脚本来模拟浏览器或其他终端使用 HTTP 协议访问站点来完成的。测试过程中采集的数据将通过动态图和数据表的形式展示出来。用户可以方便的看到tps、以及测试目标机器的cpu和内存等使用情况。 测试结束后用户还可以通过详细的运行结果报告来分析所测试目标服务器的具体状况。 项目主页: http://www.open-open.com/lib/view/home/1331886942327 源代码 : https:/