`
pany
  • 浏览: 87998 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux下的并发数量

阅读更多

 

在部署系统后,为了增加系统并发量,系统响应速度,做了一些工作;遂整理如下。

1、修改server.xml文件

<Connector port="80" protocol="HTTP/1.1"
               maxHttpHeaderSize="8192"
               maxThreads="1000" minSpareThreads="75" maxSpareThreads="300"
               enableLookups="false" redirectPort="8443" acceptCount="200"
               connectionTimeout="50000" disableUploadTimeout="true"/>
主要修改了maxThreads、acceptCount。

引用
Google资料说“如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。”

2、增加tomcat启动初始内存设置;catalina.sh – 增加了参数内存设置

内存为2G情况:

JAVA_OPTS="-server -Xms1500M -Xmx1500M -Xss256K -Djava.awt.headless=true -XX:PermSize=64M -XX:MaxPermSize=128m"

(补充:-Dfile.encoding=utf8 加入这个,是设置文件写入的编码方式)

引用

Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
JVM内存限制(最大值)
首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。

-Djava.awt.headless=true

Java在图形处理时调用了本地的图形处理库。在利用Java作图形处理(比如:图片缩放,图片签名,生成报表)时,如果运行在windows上不会出问题。如果将程序移植到Linux/Unix上的时候有可能出现图形不能显示的错误。提示信息:"Can't connect to X11 window server"这是由于Linux的图形处理需要一个X Server服务器。解决办法就是设置参数。

Xss:每个线程的Stack大小。Stack的大小限制着线程的数量。如果Stack过大就好导致内存溢漏。-Xss参数决定Stack大小,例如-Xss1024K。如果Stack太小,也会导致Stack溢漏。

分享到:
评论

相关推荐

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

    下面小编就为大家带来一篇Linux下高并发socket最大连接数所受的各种限制(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

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

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

    Linux下C线程池实现

    在Linux下用C写的一个简易线程池。系统是RedHat 9,gcc版本"gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)"。文件夹里的源码是按工程组织好的,在文件夹下的test目录下面有一个小的测试程序和Makefile,编译后即可...

    汪文君高并发编程实战视频资源下载.txt

    │ 高并发编程第一阶段31讲、如何给你的应用程序注入钩子程序,Linux下演示.mp4 │ 高并发编程第一阶段32讲、如何捕获线程运行期间的异常.mp4 │ 高并发编程第一阶段33讲、ThreadGroup API介绍之一.mp4 │ 高...

    解决linux下大量TIME WAIT的方法详解

    问题描述:在Linux系统中高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。解决方法:通过修改Linux内核参数,可以减少linux服务器的IME_WAIT套接字数量。vi /etc/sysctl.conf...

    嵌入式LINUX内存使用与性能优化

    关于系统的内存使用,《嵌入式Linux内存使用与性能优化》试图完成两项任务:增加系统整体的空闲内存数量,从而提高进程的并发能力:使系统在长时间运行后,仍然能够保持较高数量的空闲内存。《嵌入式Linux内存使用与...

    汪文君高并发编程实战视频资源全集

    │ 高并发编程第一阶段31讲、如何给你的应用程序注入钩子程序,Linux下演示.mp4 │ 高并发编程第一阶段32讲、如何捕获线程运行期间的异常.mp4 │ 高并发编程第一阶段33讲、ThreadGroup API介绍之一.mp4 │ 高...

    基于Linux的多线程池并发Web服务器设计

    目前Linux平台的Web服务器主要基于进程或线程机制,面对大数量的并发请求,延时现象较为明显。这主要原因在于服务器存在着利用率不高,资源消耗大等问题。文中利用信号量机制和生产者一消费者模型,设计基于多线程池...

    基于Linux的web服务器

    项目是在Linux下以C++开发语言搭建的Web服务器,服务器可以支持相对数量的客户端并发和及时响应,该项目支持用户注册、登录,访问图片和视频。1.利用IO多路复用技术Epoll与线程池实现Reactor高并发模型。 2.利用主从...

    socket网络编程-epoll-水平触发和边缘触发源码

    当然,并发数高,需要的内存也更大,所以,即便是并发数量的急剧提高对性能影响不大,但是内存总是有限的,换句话说,并发数也总是有限制的,不可能无限增加。 (3) 即使有10万个并发连接(同一时刻有10万个客户端...

    Linux下相对定时器池的实现及TD-LTE基站应用

    针对TD-LTE系统基站应用,提出一种Linux用户空间下的...结合哈希表、相对定时算法等技术,实现大数量定时器的高效管理,以Linux系统定时器单位为定时器粒度,定时器池满足基站高层协议软件大数量并发任务的应用需求。

    Apache-Tomcat-8.5.5(Linux )

    &lt;12&gt; 可以通过配置maxConcurrentStreamExecution限制HTTP/2单个连接的并发stream数量; 2. Connector变化 不再支持BIO,支持NIO。如果细究会发现Tomcat有两个NIO Connector,一个是Http11NioProtocol,另一个是...

    linux epoll机制详解

    在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在linux新的内核中,有了一种替换它的机制,就是epoll。 select()和poll() IO多路复用模型 select的...

    Linux修改TCP连接数.txt

    在Linux系统如何修改TCP连接数,文件数限制修改、网络端口限制修改;修改用户进程可打开文件数限制;修改网络内核对TCP连接的有关限制;使用支持高并发网络I/O的编程技术

    cmd操作命令和linux命令大全收集

    例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件 del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q ...

    高性能高并发服务器架构大全

     对于应用高并发,DB千万级数量该如何设计系统哪? 125  高性能服务器设计 130  优势与应用:再谈CDN镜像加速技术 131  除了程序设计优化,zend+ eacc(memcached)外,有什么办法能提高服务器的负载能力呢...

    nvidia-patch:该补丁消除了Nvidia对消费级GPU施加的同时进行NVENC视频编码会话的最大数量的限制

    消除了对Nvidia施加到消费级GPU的同时NVENC视频编码会话的最大数量的限制。 允许在消费级GPU上使用NvFBC。 应该使用与NVENC patch.sh相同的方式来应用,除了必须使用patch-fbc.sh 。 主要目标操作系统是GNU / ...

    SFP:SocketLock For PHP (高并发网络锁 For PHP)

    SFPSocketLock For PHP (高并发网络锁 For PHP)多台服务器间通信,文件锁和...其他说明由于windows下cygwin不支持epoll,用select实现如果在linux下,根据自己的需求,可以将select换成epoll方式提高连接数量级后期版本目标

    网络编程教程,很好的一本写linux网络编程书,这是我上传的源码

     13.2.1 预创建固定服务器进程的数量  13.2.2 动态的管理子进程  13.2.3 重用服务器子进程  本章小结  第十四章 原始套接字编程实践  14.1 原始套接字  14.1.1 原始套接字的创建  14.1.2 ...

Global site tag (gtag.js) - Google Analytics