一般来说,压力测试用的都是apache软件自带的ab命令,这个命令可以自己手动规定模拟多少个人同时访问目标网址同时这些人访问多少次。ab的格式如下:

#ab -c 1000 -n 50000 http://192.168.1.202/index.html

这句话的意思是模拟3000个用户同时访问192.168.1.202的主页,访问50000次。注意url一定要写全,不可以就写一个192.168.1.202。

但是ab有一点缺憾,那就是只能访问静态网页,如果是动态网页比如是聊天室那种网页就访问不了,这种情况需要搭配shell脚本来搞定。

ab的结果如下:

这份报告里面显示了 目标服务器软件是1.2.7的nginx,并发1000,请求了50000次,其中50000次请求有3700多个失败了(不算优秀)。总共花了13秒多,一共交换了多少个字节,其中80%的请求反应只花费了100ms,18%的请求响应花费了1秒以上,剩余2%的响应用了3秒。

当我们需要提升并发值的时候,可能服务器在默认的配置下就会显示大量的连接错误。这些主要是因为四点,1)socket需要高的内存,服务器本身硬件能力是否够用;2)能否一口气建立多个socket;3)建立了多个socket之后能否同时打开多个文件,同时文件能按socket返回,4)网卡给力,是万兆以太网卡。

提升高并发性能以及优化nginx的招数如下:

1)#ulimit -n 20000:默认值是1024,这个值代表一个进程最多能开启几个文件;

2)/proc/sys/net/ipv4/tcp_tw_recycle 这个文件默认为0,改成1的话表示系统会快速回收tcp连接;

3)/proc/sys/net/ipv4/tcp_tw_reuse 这个文件默认为0,改成1的话表示系统快速利用tcp;

4)/proc/sys/net/ipv4/tcp_syncookies 这个文件默认是1,改成0的话表示系统不会进行“洪水防御”;

5)nginx.conf里的keep_timeout=0,即请求结果之后不保留tcp链接,因为在高并发之下,keepalive会占用大量的socket链接时间,当这个值改成0之后,通过/status看,waiting值会大幅度减少,http的响应头里没有keep_alive而是connection:close;(keep_alive这个是在http的响应头看到的,这个东西指的是用户在访问forum.php的时候就会保持连接,然后只要是在规定时间内再访问css,js等东西的时候,就可以继续使用这个链接,这个对于大用户的网站来说,弊端是有的,让人赶快把坑让出来。)

6)nginx.conf里的 event{}中的work_connections,默认是1024,可以臭不要脸的改成10240;

7)/proc/sys/net/core/somaxcon,监听队列的长度,默认值是128,可以改成50000左右。

8)nginx.conf的全局设定里添加一句话:worker_rlimit_nofile 10000;,指的是一个工作进程可以打开10000个文件。

压力测试最好是多台机器一起ab,二三台就够了,而不是一台机器自己孤独的压,毕竟客户端也是有瓶颈的。客户端更改瓶颈的主要方式就是#ulimit -n和扩大somanconn的值。

转载于:https://blog.51cto.com/chenx1242/1773210

压力测试与提升服务器能力的几个方法相关推荐

  1. 传奇网页服务器测试服,测试传奇游戏服务器网速的一些方法

    测试传奇游戏服务器网速的一些方法 本文出处:网游动力作者:本站发布时间:2018-08-20阅读次数: 前几天站长跟一些开传奇sf朋友们聊到服务器,说了配置.防护还有是速度等方面的内容,如果查看服务器 ...

  2. 压力测试及缓存服务器

    第一篇 WEB压力测试 一.常用工具 常用压力测试工具:ab,httpd_load,webbench,seige. 仅仅作为测试使用,与实际能力区别也挺大的. 比较好的测试工具:惠普公司的loadru ...

  3. Linux下nvidia压力测试,一种服务器linux系统下GPU压力测试的监控方法与流程

    本发明属于服务器测试技术领域,具体涉及一种服务器linux系统下GPU压力测试的监控方法. 背景技术: 随着社会的快速发展,人们对高网络性能.快速存储.大量内存.超高计算能力的GPU的需求越来越大,产 ...

  4. 压力测试工具ab 及 centos下单独安装方法

    为什么80%的码农都做不了架构师?>>>    压力测试工具Ab简介 Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab ...

  5. 服务器压力测试文档,服务器压力测试报告样例.doc

    服务器压力测试报告样例.doc <xxxx> WeTest服务器性能专项测试报告 HYPERLINK "http://wetest"http://wetest. qq. ...

  6. 服务器 风扇测试软件,图解服务器风扇安装的正确方法

    一般不是太垃圾的机箱总有两个地方可以装风扇,前面的一般在硬盘托架处,后面的一般在电源下面,键盘口上方.有的机箱出厂就已经装好1-2个风扇了. 图中越红的区域温度相对越高. 应该什么样的风道合理呢? 1 ...

  7. 高防服务器ddos压力测试的工具推荐

    目前DDoS攻击的成本越来越低,在商业竞争.黑客行动主义以及网络敲诈等领域,DDoS攻击网站事件正在呈上升趋势.最基本的DDoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服 ...

  8. 服务器ddos压力测试注意事项及常用工具

    据有关数据显示,在刚刚过去的2019年里,针对多媒介社交网站中的DDOS攻击占比从第一季度的46%增长到第四季度的65%,且DDoS攻击网站事件正在呈上升趋势.想要有效地防范ddos,可以使用香港高防 ...

  9. 游戏上线前服务器压力测试应该怎么做

    伴随手游上线推广,玩家爆发式增长非常常见,不少开发者都遇到过玩家冲爆服务器的情况.因此降低服务器崩溃的风险就显得非常重要.游戏上线前如果做了服务器压力测试帮助会很大.今天就来说说压力测试. 编写脚本机 ...

最新文章

  1. Erlang之父给程序员的两点忠告 | 缅怀
  2. 人工智能助力全国大学智能车竞赛
  3. linux线程基础篇----线程同步与互斥
  4. android 桥梁模式,【设计模式】桥接模式
  5. Struts2中的ModelDriven机制及其运用
  6. Clipsync – 同步 Win 和 Android 剪贴板
  7. php for of,JavaScript中 for、for in、for of、forEach的用法小结(附代码)
  8. Atitit 企业知识管理PKM与PIM
  9. python程序写诗_用Python光速为你写诗
  10. (判断题)两台路由器之间转发的数据包一定不携带VLAN TAG?
  11. [copypaste]各种渐进表示法
  12. 配置review board自动发送邮件内容中的URL
  13. linux maven yum安装,linux下yum安装maven
  14. 一切钻空子的行为最后都会惨淡收场
  15. 南柯服务器压力,有关性能测试结果的几点分析原则
  16. POSIX 标准介绍
  17. 织梦dedecms蓝色铝业建材公司网站模板(带手机移动端)
  18. 最新38道JVM面试题,看完读懂轻松收offer,进入大厂非常的easy
  19. 电脑(Windows)常用快捷键
  20. 鸿蒙版微信和安卓版微信一样吗,让微信只支持鸿蒙,放弃安卓?那不是鸿蒙崛起,而是腾讯凉凉...

热门文章

  1. vue树形多列_[vue]使用Element-ui的el-table实现多列同时排序。
  2. Linux下的docker容器安装教程
  3. 深入理解JVM虚拟机(七):虚拟机字节码执行引擎
  4. 的电路接法_放大电路的三种基本接法分享
  5. Linux7如何手动建库,Centos 7系列删除数据库并重新安装
  6. php上位机grps通信,松下PLC与上位机通信实例
  7. js this pointer 指针
  8. HDU 6304 Chiaki Sequence Revisited
  9. 在Docker中体验数据库之MySql
  10. public、protected、default、private区别