`

linux下服务器连接数问题

阅读更多

参考:

http://www.2cto.com/os/201204/126986.html

 

最近我部署的平台,在jmeter测试时,发现,100个连接级出现问题了, 找了半天问题,发现原是操作系统的用户最大连接数问题,

 
查看系统允许打开的最大文件数
 #cat /proc/sys/fs/file-max
 查看每个用户允许打开的最大文件数
 ulimit -a
 发现系统默认的是open files (-n) 1024,问题就出现在这里。
 在系统文件/etc/security/limits.conf中修改这个数量限制,
 在文件中加入内容:
 * soft nofile 65536 
* hard nofile 65536
1.使用ps -ef |grep java   (java代表你程序,查看你程序进程) 查看你的进程ID,记录ID号,假设进程ID为12
2.使用:lsof -p 12 | wc -l    查看当前进程id为12的 文件操作状况
    执行该命令出现文件使用情况为 1052
3.使用命令: ulimit -a    查看每个用户允许打开的最大文件数
    发现系统默认的是open files (-n) 1024,问题就出现在这里。
4.然后执行:ulimit -n 4096
     将open files (-n) 1024 设置成open files (-n) 4096
 这样就增大了用户允许打开的最大文件数,每个ssh连上的用户的设置ulimit是互不干扰的。
 现在我们产品的解决办法是在启动脚本sh里加入ulimit -n 65535
 当然这仅是在必要的时候,一般情况下还要先检查一下文件流的关闭情况。
本以为这样就OK了,但是,发现tomcat服务器也报错:找不到页面了,
才发现tomcat配置中的内存小,还有启动的线程数也不对。
tomcat安装的bin目录下的catalina.sh

添加:export JAVA_OPTS='-Xms4096m -Xmx4096m'

要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。

-Xms:初始堆值

-Xmx:最大堆值

-Xmn:年轻代大小值

 

 

在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessorsacceptCount。如果要加大并发连接数,应同时加大这两个参数。

web server允许的最大连接数还受制于操作系统的内核参数设置

 

 

分享到:
评论

相关推荐

    如何测试Linux下tcp最大连接数限制详解

    前言 关于TCP服务器最大并发连接数有一种误解就是“因为端口号上限为65535,所以TCP服务器理论上的可承载的最大并发连接数也是...这个测试主要是想搞明白Linux下哪些参数配置限制了连接数的最大值,上限是多少。 一、先

    zabbix监控linux系统端口连接数

    在IT管理领域,Zabbix是一款广泛应用的开源网络监控系统,能够实时监控服务器、网络设备以及应用程序的状态。...因此,掌握Zabbix的这项功能对于任何负责Linux服务器监控的IT专业人员来说都至关重要。

    获取和修改linux socket最大连接数,linux,系统

    Socket的最大连接数是一个重要的系统资源限制,关乎到服务器的并发处理能力。本文将深入探讨如何获取和修改Linux Socket的最大连接数,以及其背后的系统原理。 首先,我们需要了解`/proc/sys/net/core/somaxconn`这...

    Linux下Apache并发连接数和带宽控制

    在Linux环境下,Apache的并发连接数和带宽可以通过两个模块来实现:mod_limitipconn和mod_bandwidth。这两个模块是由Apache社区的开发者创建的,用于增强服务器的管理能力。 1. **mod_limitipconn**: 这个模块...

    finalshell 连接linux 服务器的工具

    - 提供网络监控,包括带宽、连接数等信息,便于优化网络配置。 6. **任务调度**: - 内建任务计划器,可以设置定时任务,如自动备份、脚本执行等。 - 支持远程命令执行,实现无人值守的任务自动化。 7. **其他...

    [服务器性能优化]Linux下高并发socket最大连接数和sysctl(time_wait)设置

    总结来说,优化Linux服务器的socket连接数和sysctl配置对于处理高并发场景至关重要。通过调整`sysctl.conf`文件中的相关参数,可以有效地提升系统性能,降低延迟,增强服务的稳定性。不过,任何改动都需要结合具体...

    linux下搭建ftp服务器

    - **连接限制**:可以设置最大连接数、最大同时登录用户数等。 - **安全设置**:启用 SSL/TLS 加密、设置密码复杂度要求等。 - **传输模式**:设置主动模式或被动模式,对于防火墙环境下的访问尤为重要。 #### 六、...

    linux下tomcat优化设置最大连接数内存jconsole监控.docx

    ### Linux 下 Tomcat 优化设置最大连接数及内存 JConsole 监控 #### 一、Tomcat 内存优化 ##### 1.1 基本原理 在启动 Java 应用程序时,JVM(Java 虚拟机)会为应用程序分配一定的初始内存和最大内存。这些设置对...

    Linux下shell连接金仓数据库(ksql)并完成查询、插入、修改表数据实例

    Linux下连接金仓数据库(ksql)并完成查询、插入、修改表数据实例,修改后可用于oracle及mysql

    tcp 连接数设置,以及查看电脑的连接数

    了解和调整TCP连接数对于优化服务器性能、应对高并发访问和防止DDoS攻击至关重要。然而,增加连接数并不总是解决方案,因为过多的并发连接可能会消耗大量的内存和CPU资源,导致性能下降。因此,合理设定和优化TCP...

    Linux下高并发服务器的研究与实现.pdf

    服务器端要做的工作主要为创建 socket、绑定 IP 地址和端口、设置同时最大连接数、监听并接受客户端的连接请求、读取客户端发送的数据、处理请求、回写数据到客户端、完成并关闭这次连接。客户端需要进行的工作则为...

    linux高性能服务器编程源码

    总之,这份源码资源是Linux服务器开发人员的宝贵教材,它不仅提供了实践案例,也让我们有机会研究和学习如何在实际场景中构建高性能的服务器应用。无论是对于初学者还是经验丰富的开发者,都有很高的参考价值。

    Linux下配置JSP Web服务器常见问题与解决.pdf

    在Linux环境下配置JSP Web服务器是一项常见的任务,尤其在开源操作系统如Red Hat Linux 9中。JSP(Java Server Pages)是一种基于Java技术的动态网页技术标准,它提供了跨平台和跨Web服务器的能力,能够在Linux、...

    Linux高性能服务器编程源码.zip

    5. **负载均衡与分布式**:高性能服务器可能需要在多台机器间分发负载,这涉及负载均衡算法,如轮询、最少连接数、哈希一致性等。同时,分布式系统的设计也至关重要,如使用一致性哈希算法实现分布式缓存。 6. **...

    Linux下FTP服务器配置与管理

    配置FTP服务器时,还需要考虑到安全策略,例如设置适当的权限模式(umask),限制最大并发连接数,启用SSL/TLS加密以提高传输的安全性,以及设置日志记录以监控服务器活动。此外,还可以通过配置文件控制用户上传...

    Linux下用C语言写的telnet服务器程序

    8. **命令行参数处理**: `getopt()`函数用于解析命令行参数,这允许用户在运行时改变服务器的配置,如IP地址、端口、最大连接数等。 9. **守护进程(Daemon)模式**: `daemon_y_n`变量用于判断是否以守护进程模式运行...

Global site tag (gtag.js) - Google Analytics