一.如何增大service进程的max open files

ulimit -n 只能改小max open files,不能改大。需要按照以下步骤:

  1. 修改/etc/security/limits.conf文件,将"soft nofile 655360"和"hard nofile 655360"这两行的655360改成期望的值
  2. 退出,重新ssh该机器(否则无效)
  3. 修改对service的启动脚本,增加"ulimit -n 950000",其中950000是期望改变的值
  4. 重启service进程(否则无效),通过"cat /proc/pid/limits"查看是否生效,其中pid是service的进程id
  5. 可以通过"cat /proc/sys/fs/file-max"查看系统允许的最大的max open files

二.如何修改系统的tcp端口限制

  1. 通过"cat /proc/sys/net/ipv4/ip_local_port_range"可以查看系统设置的可用端口
  2. 在/etc/sysctl.conf中增加"net.ipv4.ip_local_port_range = 1024 65000"这一行,执行"sysctl -p",若不报错则成功
  3. 再次通过"cat /proc/sys/net/ipv4/ip_local_port_range"可以查看系统设置的可用端口是否生效

三.测试方法

  1. 加强对测试系统的了解。例如:由于对系统的某些限制不了解造成测试方法错误,结果不可取。(同一级目录下不允许创建百万个文件)
  2. 复现问题,尽量模拟用户的用法。例如:协程or物理线程。
  3. 打破常规假设:理论判断不会走到的分支,则没有测试,链接数异常,则可能是走到了理论判断不会走到分支;
  4. Little's law法则:pthread_create并不是创建的线程越多越好,看测试重点,针对此问题,开几个线程,每个线程多干活即可达到期望的高链接数;
    N = X * E[T] ,N就是你的压力器线程数,X是IOPS ,E[T]是平均处理时间
    压不上去两个原因 1) N太小 2) E[T]太大
  5. 测试观察项。期望压力持续一个状态,而非瞬间状态,保证链接不复用且不释放或释放后立即重连。
  6. 测试性能结果,需要符合用户的用法。例如:QPS、Latency等,不要提供给用户一个用户不需要的性能报告。
  7. 善用工具。例如:能复用尽量复用,减少重复的无用功。多积累学习一些工具,较少工作量。

四.重要的事情说三遍

  1. 勿忘初衷
  2. 勿忘初衷
  3. 勿忘初衷

用户:我想要一辆跑得很快的马车。

重点是“快”,而不是“马车”。

参考:

Linux下高并发socket最大连接数

http://soft.chinabyte.com/os/285/12349285.shtml

Linux下高并发socket链接数测试的更多相关文章

  1. Linux下高并发socket最大连接数所受的各种限制(详解)

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

  2. [转载] Linux下高并发socket最大连接数所受的各种限制

    原文: http://mp.weixin.qq.com/s?__biz=MzAwNjMxNjQzNA==&mid=207772333&idx=1&sn=cfc8aadb422f ...

  3. Linux下高并发socket最大连接数所受的各种限制

    http://blog.csdn.net/guowake/article/details/6615728 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行 ...

  4. Linux下高并发socket最大连接数

    http://soft.chinabyte.com/os/285/12349285.shtml (转载时原文内容做个修改) 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是 ...

  5. Linux下高并发socket最大连接数各种限制的调优

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

  6. Linux下高并发socket最大连接数所受的各种限制(转)

    1.修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个 ...

  7. 教你修改Linux下高并发socket最大连接数所受的各种限制

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开 文件数量的限制(这是因为系统为 ...

  8. Linux下高并发网络编程

      Linux下高并发网络编程 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时, 最高的并发数量都要受到系统对用户单一进程同时可打 ...

  9. linux下高并发网络应用注意事项

    本文转自:http://www.blogjava.net/bacoo/archive/2012/06/11/380500.html linux下高并发网络应用注意事项 vi /etc/sysctl.c ...

随机推荐

  1. 横版动作MOBA《超宇宙》首测试玩曝光 详解游戏特色(转)

    http://play.163.com/15/0911/11/B37RHHO100314J6L.html

  2. WCF綁定

    服务之间的通信方式是多种多样的,有多种可能的通信模式.包括:同步的请求与应答(Request/Reply)消息,或者异步的即发即弃(Fire-and-Forget)消息等等,在通信时传输的消息编码格式 ...

  3. apache 2.4 针对某个文件限速

    http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html <Location "/downloads/*.mp4"> ...

  4. Java执行groovy脚本

    Binding binding = new Binding(); binding.setVariable("foo", new Integer(2)); GroovyShell s ...

  5. cocos2dx 内存管理

    转载自 ocos2dx 内存管理 - 小花原创博客 - 博客频道 - CSDN.NET http://blog.csdn.net/ring0hx/article/details/7946397 coc ...

  6. Spark1.0.x入门指南

    1 节点说明   IP Role 192.168.1.111 ActiveNameNode 192.168.1.112 StandbyNameNode,Master,Worker 192.168.1. ...

  7. algorithm@ Sieve of Eratosthenes (素数筛选算法) & Related Problem (Return two prime numbers )

    Sieve of Eratosthenes (素数筛选算法) Given a number n, print all primes smaller than or equal to n. It is ...

  8. ZOJ-3201 Tree of Tree 树形DP

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3201 题意:给一颗树,每个节点有一个权值,求节点数为n的最大权子 ...

  9. windows 无法启动asp.net 状态服务 错误 0x8007277a

    处理方法:如果在启动ASP.NET State Service服务时遇到问题0x8007277a即无法启动或初始化,请尝试在命令行(CMD)中输入netsh winsock  reset(有可能是wi ...

  10. POJ1837 Balance(DP)

    POJ1837http://poj.org/problem?id=1837 题目大意就是说有一个称上有C个挂钩,告诉你每个挂钩的位置,现在有G个重物,求是之平衡的方法数. 转化一下:DP[i][j]表 ...