免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6542 | 回复: 6
打印 上一主题 下一主题

重大苦脑的问题,如果设置Linux最大线程数,网站并发访问量好大 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-12 00:05 |只看该作者 |倒序浏览
我使用的是Apache Tomcat/5.0.28,我在server.xml中配置了最大并发连接数,配置如下:


    <Connector port="80"
               maxThreads="999" minSpareThreads="25" maxSpareThreads="999"
               enableLookups="false" redirectPort="8443" acceptCount="999"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true" />

并且我在catalina.sh中配置了JAVA_OPTS='-Xms256m -Xmx2500m'最大内存

但是我的网站并发访问量好大,
各位可以看看这篇文章:
http://tech.163.com/05/0711/10/1OCH7J2000091589_3.html

文章中指出:
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。

也就是说maxThreads最大连接数,不能高于一千,

如果我设置的超过了一千,就报如下错误:

严重: Caught exception (java.lang.OutOfMemoryError: unable to create new native thread) executing org.apache.tomcat.util.net.TcpWorkerThread@d175ff, terminating thread


我用的是Linux 2.6的,我的电脑是4G的内存 2.6的CPU
我用ulimit -u 设置了线程数,为什么还是不行,我设置超过了一千,还是报如上的错误,

[root@server conf]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 999999
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 9999999
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


现在我的网站,可以同一时刻,并发访问量会大于一千,就经常报如下错误:

2005-12-11 12:24:23 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.struts.taglib.logic.LocalStrings', returnNull=true
2005-12-11 12:35:12 org.apache.tomcat.util.threads.ThreadPool logFull
严重: All threads (999) are currently busy, waiting. Increase maxThreads (999) or check the servlet status


有谁能帮我看看,
我现在就是要求,把tomcat的最大并发数设置大点,我的程序都是jsp文件,直接安装的tomcat,大家有什么好的办法,不知道resin并发量如何,受不受操作系统限制,

现在我要如何把Linux的默认的一千个线程,把他设置大点呢?

有谁能帮帮我

我会好好感谢你的,我真的很头脑的事情!!!

QQ:81832527

论坛徽章:
0
2 [报告]
发表于 2005-12-12 09:58 |只看该作者
...............................你做java的啊

论坛徽章:
0
3 [报告]
发表于 2005-12-12 23:12 |只看该作者
怎么解决啊,

论坛徽章:
0
4 [报告]
发表于 2005-12-15 16:55 |只看该作者
google搜一下,可能要改内核源代码,重新编译。

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
5 [报告]
发表于 2005-12-16 14:24 |只看该作者
先自己做做压力测试,不要以为你自己能设置超过1000了就真的能支持超过1000个连接了。

论坛徽章:
0
6 [报告]
发表于 2005-12-16 17:44 |只看该作者
原帖由 zflfaufa 于 2005-12-12 00:05 发表
我使用的是Apache Tomcat/5.0.28,我在server.xml中配置了最大并发连接数,配置如下:


    <Connector port="80"
               maxThreads="999" minSpareThreads="25" ...

哇靠lz的什么网站啊,发财啦,这么大的流量

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
7 [报告]
发表于 2005-12-16 22:51 |只看该作者
偶记得 2.4 kernel 只能支持 32000 个 process. 2.6 的不知道. 楼主找一下看看. 但1000这个数太小了. 不太可能.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP