java中是单进程多线程和多进程还是多进程多线程和多进程

帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:1&分页:程序媛发信人: itgirl (程序媛), 信区: Java
标&&题: [合集] 为什么Java设计为多线程单进程?
发信站: 水木社区 (Mon Dec 31 13:40:06 2012), 站内 && ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Wed Dec 26 23:38:22 2012)
提到: && 在32位操作系统上,单个进程占用的内存大小限制在2GB
而且,多线程没有多进程可靠性强,虽然系统开销小
在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker &&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 00:07:22 2012)
提到: && 多进程还有个好处:错开每个进程的GC时间,提高吞吐量 &&&& ☆─────────────────────────────────────☆ &&
weizhaokang (似木痴情) 于
(Thu Dec 27 00:10:28 2012)
提到: && 多进程协作的话 怎么共享数据? gc更麻烦
【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 00:17:25 2012)
提到: && 共享数据可以用IPC
每个进程分别GC,还能错开GC的时间,防止全部线程暂停 && 【 在 weizhaokang 的大作中提到: 】
: 多进程协作的话 怎么共享数据? gc更麻烦
&&&&&& ☆─────────────────────────────────────☆ &&
muser (负尽千重罪,练就不死心) 于
(Thu Dec 27 03:18:40 2012)
提到: && 你应该知道java最初的设计意图是什么。
最初时根本就不关服务器什么事。 && 【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
noho (血骑士 碧血残阳) 于
(Thu Dec 27 06:59:53 2012)
提到: && 谁跟你这么说的?单进程还是多进程,明明只取决于使用者。 && 【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
thisyears (这些年) 于
(Thu Dec 27 09:04:49 2012)
提到: && 线程相对进程来说,消耗资源少吧。 &&&& ☆─────────────────────────────────────☆ &&
weizhaokang (似木痴情) 于
(Thu Dec 27 09:41:53 2012)
提到: && 意思对于共享数据 每个进程都要维护一份?
【 在 spkid 的大作中提到: 】
: 共享数据可以用IPC
: 每个进程分别GC,还能错开GC的时间,防止全部线程暂停
:&& &&&&&& ☆─────────────────────────────────────☆ &&
helloweenpad (helloweenpad) 于
(Thu Dec 27 09:43:43 2012)
提到: &&&& java表示,你这种需求,直接上cluster,不仅多进程了,直接多个os服务了 && 【 在 spkid (spkid) 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 09:44:48 2012)
提到: && 是啊
其实这种通信需求很少的,服务器上同一用户发起的连接,就放进同一进程好了
不同用户之间,不需要共享什么数据吧? && 【 在 weizhaokang 的大作中提到: 】
: 意思对于共享数据 每个进程都要维护一份?
&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 09:46:43 2012)
提到: && 杀鸡用牛刀
Nginx那样的模式,单台服务器就可以处理数万个并发连接了
就算上cluster,每个节点还是一个java进程,利用率还是不够 && 【 在 helloweenpad 的大作中提到: 】
: java表示,你这种需求,直接上cluster,不仅多进程了,直接多个os服务了
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 09:48:15 2012)
提到: && java不能多进程? && 【 在 spkid (spkid) 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 09:50:27 2012)
提到: && 不同用户共享数据的情况多了。。。
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 09:44:48 2012), 站内
: 其实这种通信需求很少的,服务器上同一用户发起的连接,就放进同一进程好了
: 不同用户之间,不需要共享什么数据吧?
: 【 在 weizhaokang 的大作中提到: 】
: : 意思对于共享数据 每个进程都要维护一份?
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 09:50:35 2012)
提到: && 一个tomcat实例能开多进程? && 【 在 Orpherus 的大作中提到: 】
: java不能多进程?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Eliot (好警察) 于
(Thu Dec 27 09:51:20 2012)
提到: && 多开几个呗
【 在 spkid (spkid) 的大作中提到: 】
: 一个tomcat实例能开多进程?
&&&&&&&& ☆─────────────────────────────────────☆ &&
kobe2000 (意义) 于
(Thu Dec 27 09:55:19 2012)
提到: && 关tomcat什么事?
【 在 spkid (spkid) 的大作中提到: 】
: 一个tomcat实例能开多进程?
&&&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 09:55:53 2012)
提到: && 你就是说不能fork是吧。。。
Runtime.exec?
这个也算是多进程吧
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Wed Dec 26 23:38:22 2012), 站内
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 113.57.217.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 09:56:10 2012)
提到: && 必须可以多开
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 09:50:35 2012), 站内
: 一个tomcat实例能开多进程?
: 【 在 Orpherus 的大作中提到: 】
: : java不能多进程?
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 09:56:37 2012)
提到: && IPC是什么缩写,求扫盲,谢谢! && 【 在 spkid 的大作中提到: 】
: 共享数据可以用IPC
: 每个进程分别GC,还能错开GC的时间,防止全部线程暂停
:&& &&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 09:56:53 2012)
提到: && 凭啥张口就来利用率不够呢?
多线程处理不一样么 && 【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 09:46:43 2012), 站内
: 杀鸡用牛刀
: Nginx那样的模式,单台服务器就可以处理数万个并发连接了
: 就算上cluster,每个节点还是一个java进程,利用率还是不够
: 【 在 helloweenpad 的大作中提到: 】
: : java表示,你这种需求,直接上cluster,不仅多进程了,直接多个os服务了
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 09:57:24 2012)
提到: && tomcat就是java的全部? && 【 在 spkid (spkid) 的大作中提到: 】
: 一个tomcat实例能开多进程?
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 09:58:34 2012)
提到: && 进程间通信啊
&& 【 在 stitch005 的大作中提到: 】
: IPC是什么缩写,求扫盲,谢谢!
:&& &&&&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 09:59:32 2012)
提到: && 那多开几个TOMCAT不就有Nginx的效果了吗? && 【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:00:33 2012)
提到: && 32位系统上内存受限
另外可靠性不如多进程,最好还是多线程+多进程混合用 && 【 在 olives 的大作中提到: 】
: 凭啥张口就来利用率不够呢?
: 多线程处理不一样么
: &&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 10:01:31 2012)
提到: && 貌似Java一直都没有高效简洁的IPC实现。。。
有大牛推荐一款吗? && 【 在 spkid 的大作中提到: 】
: 进程间通信啊
:&& &&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:01:37 2012)
提到: && 同一个应用,同一个端口,能多开tomcat吗?我不确定,似乎不能 && 【 在 stitch005 的大作中提到: 】
: 那多开几个TOMCAT不就有Nginx的效果了吗?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 10:03:33 2012)
提到: && 已经4,5年没见过32位生产环境了 && 【 在 spkid (spkid) 的大作中提到: 】
: 32位系统上内存受限
: 另外可靠性不如多进程,最好还是多线程+多进程混合用
&&&&&&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 10:03:38 2012)
提到: && 每个Tomcat绑定不同的端口啊。。。
然后在Tomcat的前段用负载均衡,硬件用上F5,软件可以用Apache/HTTPD. && 【 在 spkid 的大作中提到: 】
: 同一个应用,同一个端口,能多开tomcat吗?我不确定,似乎不能
:&& &&&&&& ☆─────────────────────────────────────☆ &&
weizhaokang (似木痴情) 于
(Thu Dec 27 10:07:13 2012)
提到: && 楼主只考虑了web server的情况 这种模式会给其他server编程带来巨大的复杂度 &&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:07:49 2012)
提到: && 才看到一篇JVM调优的文章说,64位JVM不如32位的,因为堆太大,fullGC时间长
另外呢,有些OS是用户态多线程实现,内核不知道有多个线程,还是只给整个java进程分配一个CPU,不能把多线程调度到多CPU上 && 【 在 Orpherus 的大作中提到: 】
: 已经4,5年没见过32位生产环境了
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 10:08:45 2012)
提到: && 又不是只有一两台服务器,集群里所有机器同时开始fullgc? && 【 在 spkid (spkid) 的大作中提到: 】
: 才看到一篇JVM调优的文章说,64位JVM不如32位的,因为堆太大,fullGC时间长
: 另外呢,有些OS是用户态多线程实现,内核不知道有多个线程,还是只给整个java进程分配一个CPU,不能把多线程调度到多CPU上
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:09:02 2012)
提到: && 所以应该做成可选的,启动参数指定有几个进程,就像Nginx指定有几个worker && 【 在 weizhaokang 的大作中提到: 】
: 楼主只考虑了web server的情况 这种模式会给其他server编程带来巨大的复杂度
&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:10:41 2012)
提到: && 多数情况用不到集群啊
难道java就是用来忽悠用户用集群的? && 【 在 Orpherus 的大作中提到: 】
: 又不是只有一两台服务器,集群里所有机器同时开始fullgc?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 10:10:42 2012)
提到: && 有人说64位JVM推荐使用的内存是16G而且GC时间合理。 && 【 在 spkid 的大作中提到: 】
: 才看到一篇JVM调优的文章说,64位JVM不如32位的,因为堆太大,fullGC时间长
: 另外呢,有些OS是用户态多线程实现,内核不知道有多个线程,还是只给整个java进程分配一个CPU,不能把多线程调度到多CPU上
:&& &&&&&& ☆─────────────────────────────────────☆ &&
weizhaokang (似木痴情) 于
(Thu Dec 27 10:13:33 2012)
提到: && 那你的问题应该具体到 java web server 应该用nginx的模式实现
【 在 spkid 的大作中提到: 】
: 所以应该做成可选的,启动参数指定有几个进程,就像Nginx指定有几个worker
:&& &&&&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 10:14:15 2012)
提到: && 前段的负载均衡不知道哪台服务器在GC啊,所以是不是会存在没有服务响应的概率? && 【 在 Orpherus 的大作中提到: 】
: 又不是只有一两台服务器,集群里所有机器同时开始fullgc?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 10:15:55 2012)
提到: && 除了个人小站,有几个单机就能搞定的? && 【 在 spkid (spkid) 的大作中提到: 】
: 多数情况用不到集群啊
: 难道java就是用来忽悠用户用集群的?
&&&&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 10:18:07 2012)
提到: && 冻结时间是肯定有的,部分请求会遇到 && 【 在 stitch005 (stitch) 的大作中提到: 】
: 前段的负载均衡不知道哪台服务器在GC啊,所以是不是会存在没有服务响应的概率?
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:18:28 2012)
提到: && 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
所以,这就是大型网站少用Java,多用PHP,python的原因? && 【 在 Orpherus 的大作中提到: 】
: 除了个人小站,有几个单机就能搞定的?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 10:20:00 2012)
提到: && 纯静态页网站? && 【 在 spkid (spkid) 的大作中提到: 】
: 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
: 所以,这就是大型网站少用Java,多用PHP,python的原因?
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:21:13 2012)
提到: && 说得好像Nginx上不了PHP似的 && 【 在 Orpherus 的大作中提到: 】
: 纯静态页网站?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
JunWi (Hey, genius!) 于
(Thu Dec 27 10:21:20 2012)
提到: && Nginx跟tomcat干的事儿不一样好不..
【 在 spkid (spkid) 的大作中提到: 】
: 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
: 所以,这就是大型网站少用Java,多用PHP,python的原因?
&&&&&&&& ☆─────────────────────────────────────☆ &&
JunWi (Hey, genius!) 于
(Thu Dec 27 10:21:39 2012)
提到: && 嗯,上php看看是不是还是轻松几万个连接
【 在 spkid (spkid) 的大作中提到: 】
: 说得好像Nginx上不了PHP似的
&&&&&&&& ☆─────────────────────────────────────☆ &&
Erlang (拿起笔做刀枪) 于
(Thu Dec 27 10:23:21 2012)
提到: && 我认为.Net的AppDomain比较传统的多线程和多进程都较好。
【 在 spkid (spkid) 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 10:28:07 2012)
提到: && 上了php,每秒处理能力最多几百,更大可能是几十 && 【 在 spkid (spkid) 的大作中提到: 】
: 说得好像Nginx上不了PHP似的
&&&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 10:29:54 2012)
提到: && 这些“有些OS”拿出来展开说说
至少我还没见过这么傻的OS
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:07:49 2012), 站内
: 才看到一篇JVM调优的文章说,64位JVM不如32位的,因为堆太大,fullGC时间长
: 另外呢,有些OS是用户态多线程实现,内核不知道有多个线程,还是只给整个java进程分配一个CPU,不能把多线程调度到多CPU上
: 【 在 Orpherus 的大作中提到: 】
: : 已经4,5年没见过32位生产环境了
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:30:40 2012)
提到: && 大把Discuz的论坛都是Nginx+PHP,难道都这么弱? && 【 在 Orpherus 的大作中提到: 】
: 上了php,每秒处理能力最多几百,更大可能是几十
:&& &&&&&& ☆─────────────────────────────────────☆ &&
oldwatch (一条叫Java的鱼◎2012-Change) 于
(Thu Dec 27 10:32:06 2012)
提到: && 论坛才能多大流量…… && 【 在 spkid (spkid) 的大作中提到: 】
: 大把Discuz的论坛都是Nginx+PHP,难道都这么弱?
&&&&&&&& ☆─────────────────────────────────────☆ &&
Erlang (拿起笔做刀枪) 于
(Thu Dec 27 10:32:10 2012)
提到: && 是有些pthread实现,早先linux下的pthread实现有很大程度上用户态实现的,但是线程还是对应调度单元,所以他说的问题不成立。
【 在 olives (楓~老婆說:賠償只要貴的) 的大作中提到: 】
: 这些“有些OS”拿出来展开说说
: 至少我还没见过这么傻的OS
&&&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 10:32:11 2012)
提到: && 每秒几十处理能力不低了
大把的discuz论坛每秒处理个数也就10几
自己算算,百万PV的网页,理论上才不到12QPS
PHP最终处理能力比java低一个数量级
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:30:40 2012), 站内
: 大把Discuz的论坛都是Nginx+PHP,难道都这么弱?
: 【 在 Orpherus 的大作中提到: 】
: : 上了php,每秒处理能力最多几百,更大可能是几十
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 10:33:03 2012)
提到: && 这还差不多
除了超线程出来那第一年,以后还真没见过那么傻的OS
【 在 Erlang (拿起笔做刀枪) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:32:10 2012), 站内
: 是有些pthread实现,早先linux下的pthread实现有很大程度上用户态实现的,但是线程还是对应调度单元,所以他说的问题不成立。
: 【 在 olives (楓~老婆說:賠償只要貴的) 的大作中提到: 】
: : 这些“有些OS”拿出来展开说说
: : 至少我还没见过这么傻的OS
: ※ 来源:·水木社区 newsmth.net·[FROM: 113.96.149.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
Erlang (拿起笔做刀枪) 于
(Thu Dec 27 10:33:14 2012)
提到: && 百万pv的分布不均匀,很可能是集中在一两个小时的。
【 在 olives (楓~老婆說:賠償只要貴的) 的大作中提到: 】
: 每秒几十处理能力不低了
: 大把的discuz论坛每秒处理个数也就10几
: 自己算算,百万PV的网页,理论上才不到12QPS
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:34:07 2012)
提到: && 为什么大型网站,除了电子商务网站外,多用PHP,Python呢? && 【 在 olives 的大作中提到: 】
: 每秒几十处理能力不低了
: 大把的discuz论坛每秒处理个数也就10几
: 自己算算,百万PV的网页,理论上才不到12QPS
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 10:34:09 2012)
提到: && 大不了加一倍,每秒100QPS,了不得了
php处理这个小意思
每秒成千上万的QPS,php可就没戏了
【 在 Erlang (拿起笔做刀枪) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:33:14 2012), 站内
: 百万pv的分布不均匀,很可能是集中在一两个小时的。
: 【 在 olives (楓~老婆說:賠償只要貴的) 的大作中提到: 】
: : 每秒几十处理能力不低了
: : 大把的discuz论坛每秒处理个数也就10几
: : 自己算算,百万PV的网页,理论上才不到12QPS
: : ...................
: ※ 来源:·水木社区 newsmth.net·[FROM: 113.96.149.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 10:34:24 2012)
提到: && 说说那些“大型网站”
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:34:07 2012), 站内
: 为什么大型网站,除了电子商务网站外,多用PHP,Python呢?
: 【 在 olives 的大作中提到: 】
: : 每秒几十处理能力不低了
: : 大把的discuz论坛每秒处理个数也就10几
: : 自己算算,百万PV的网页,理论上才不到12QPS
: : ...................
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
Eliot (好警察) 于
(Thu Dec 27 10:34:47 2012)
提到: && 有因为性能问题使用php而弃用java的“大型网站”?
【 在 spkid (spkid) 的大作中提到: 】
: 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
: 所以,这就是大型网站少用Java,多用PHP,python的原因?
&&&&&&&& ☆─────────────────────────────────────☆ &&
Erlang (拿起笔做刀枪) 于
(Thu Dec 27 10:35:26 2012)
提到: && 用也不是全用吧,渲染个模板,输出个页面,用python,php有啥关系,业务未必就在这俩里面做。
【 在 spkid (spkid) 的大作中提到: 】
: 为什么大型网站,除了电子商务网站外,多用PHP,Python呢?
&&&&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 10:37:14 2012)
提到: && facebook,twitter
【 在 olives 的大作中提到: 】
: 说说那些“大型网站”
: &&&& ☆─────────────────────────────────────☆ &&
Erlang (拿起笔做刀枪) 于
(Thu Dec 27 10:37:16 2012)
提到: && 测试方法问题。并发连接不等于吞吐量。一般人跑去测serve静态页面的性能,能测出个啥。
【 在 spkid (spkid) 的大作中提到: 】
: 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
: 所以,这就是大型网站少用Java,多用PHP,python的原因?
&&&&&&&& ☆─────────────────────────────────────☆ &&
JunWi (Hey, genius!) 于
(Thu Dec 27 10:38:46 2012)
提到: && 貌似Solaris有过M:N的线程模型
纯user threads貌似是很早的事情,早被废弃了
【 在 Erlang (拿起笔做刀枪) 的大作中提到: 】
: 是有些pthread实现,早先linux下的pthread实现有很大程度上用户态实现的,但是线程还是对应调度单元,所以他说的问题不成立。
&&&&&&&& ☆─────────────────────────────────────☆ &&
Eliot (好警察) 于
(Thu Dec 27 10:41:56 2012)
提到: && facebook 大部分都是把php转换成c在跑
twitter过去是ror。后来好像主要用scala
【 在 spkid (spkid) 的大作中提到: 】
: facebook,twitter
&&&&&& ☆─────────────────────────────────────☆ &&
JunWi (Hey, genius!) 于
(Thu Dec 27 10:44:21 2012)
提到: && twitter貌似跟php没啥关系
facebook自个儿因为php的性能问题想尽了办法,以前弄了个hiphop,最近貌似又搞了
【 在 spkid (spkid) 的大作中提到: 】
: facebook,twitter
&&&&&&&& ☆─────────────────────────────────────☆ &&
personality (兔子(male, married)) 于
(Thu Dec 27 11:00:33 2012)
提到: && 结论 && 又一个概念不清 表述不清的 来踢版现眼的
【 在 spkid (spkid) 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指
定几个worker就启动几个进程,然后把连接请求作为线程分配到worker &&&&&& ☆─────────────────────────────────────☆ &&
olives (楓~老婆說:賠償只要貴的) 于
(Thu Dec 27 11:15:16 2012)
提到: &&&& facebook自己写了个php2c的东西,如果不是php性能不行,他用这个干啥?
twitter是ror,和php没啥关系好吧
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:37:14 2012), 站内
: facebook,twitter
: 【 在 olives 的大作中提到: 】
: : 说说那些“大型网站”
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
HareBlue (Tearless Mars, Watery Eyes) 于
(Thu Dec 27 11:20:31 2012)
提到: && 谣传twitter现在转移到java上了,才在这个大选日没有失灵。
【 在 olives 的大作中提到: 】
: facebook自己写了个php2c的东西,如果不是php性能不行,他用这个干啥?
: twitter是ror,和php没啥关系好吧
: &&&& ☆─────────────────────────────────────☆ &&
wew (吴钩霜雪明) 于
(Thu Dec 27 11:34:40 2012)
提到: &&&& 其实facebook这样做也算是改造php了
就像delphi对pascal的改造一样 &&&& 【 在 olives (楓~老婆說:賠償只要貴的) 的大作中提到: 】
: facebook自己写了个php2c的东西,如果不是php性能不行,他用这个干啥?
: twitter是ror,和php没啥关系好吧
&&&&&&&& ☆─────────────────────────────────────☆ &&
was (银杏叶◇All the Stars Shone Down) 于
(Thu Dec 27 11:38:31 2012)
提到: && 首先 as 和 http server 是俩东西, 其次说道大型网站,
不知道算不算大型网站?
【 在 spkid (spkid) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 10:18:28 2012), 站内
: 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
: 所以,这就是大型网站少用Java,多用PHP,python的原因?
: 【 在 Orpherus 的大作中提到: 】
: : 除了个人小站,有几个单机就能搞定的?
: 你以为自己是中产,你以为自己是公知,其实你就是个屌丝,你的话一文不值,只增笑耳
: ※ 来源:·水木社区 ·[FROM: 221.232.64.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
dongliu84 (夏小草) 于
(Thu Dec 27 12:29:26 2012)
提到: && php在facebook之类的站点中只是用web曾页面渲染,后台基础设施和业务逻辑都是c++/java的。「facebook用的是php」。
即使这样php也存在很大的性能问题,所以后来有对PHP的各种折腾
twitter已经逐步转向JVM(scala和java)语言了,现在估计也没有多少Ruby在了。以前用ruby的时候各种当机 && 【 在 Eliot 的大作中提到: 】
: facebook 大部分都是把php转换成c在跑
: twitter过去是ror。后来好像主要用scala
&&&&&& ☆─────────────────────────────────────☆ &&
beyondilove (beyondilove) 于
(Thu Dec 27 12:43:09 2012)
提到: && 进程线程跟语言有什么关系?你拿java跟nginx类比?
【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
zli07 (Anonymous) 于
(Thu Dec 27 13:02:37 2012)
提到: && 进程的创建比线程的创建耗的资源多多了。而且nginx跟java没得比,nginx的总线程数未必比起一个java服务附带的GC,monitor等的线程多,但是nginx支持的并发数就是大,是因为事件驱动IO很好的解决了阻塞问题。所以java服务要改进也应该在异步IO下功夫而不是增加进程数,后者于事无补。
【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&& ☆─────────────────────────────────────☆ &&
Orpherus (奥路菲) 于
(Thu Dec 27 13:07:45 2012)
提到: && java不是早就搞了NIO么 && 【 在 zli07 (Anonymous) 的大作中提到: 】
: 进程的创建比线程的创建耗的资源多多了。而且nginx跟java没得比,nginx的总线程数未必比起一个java服务附带的GC,monitor等的线程多,但是nginx支持的并发数就是大,是因为事件驱动IO很好的解决了阻塞问题。所以java服务要改进也应该在异步IO下功夫而不是增加进程数,后
&&&&&&&& ☆─────────────────────────────────────☆ &&
huozhe (活着) 于
(Thu Dec 27 13:13:07 2012)
提到: && 不是一个东西&&&& nginx把处理丢给后面的fastcgi来解决 nginx并不解析执行php && 【 在 zli07 (Anonymous) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 13:02:37 2012), 站内
: 进程的创建比线程的创建耗的资源多多了。而且nginx跟java没得比,nginx的总线程数
: 未必比起一个java服务附带的GC,monitor等的线程多,但是nginx支持的并发数就是大,
: 是因为事件驱动IO很好的解决了阻塞问题。所以java服务要改进也应该在异步IO下功夫而
: 不是增加进程数,后者于事无补。
: 【 在 spkid 的大作中提到: 】
: : 在32位操作系统上,单个进程占用的内存大小限制在2GB
: : 而且,多线程没有多进程可靠性强,虽然系统开销小
: : 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,
: 指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
: ※ 来源:·水木社区 ·[FROM: 61.135.169.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
zli07 (Anonymous) 于
(Thu Dec 27 13:15:40 2012)
提到: && 你说滴跟我说滴没有冲突,我滴意思是,nginx的一个线程可以同时serve很多个fastcgi请求,在php里可能是阻塞滴,但是nginx是异步io滴
【 在 huozhe 的大作中提到: 】
: 不是一个东西&&
: nginx把处理丢给后面的fastcgi来解决 nginx并不解析执行php
: &&&& ☆─────────────────────────────────────☆ &&
huozhe (活着) 于
(Thu Dec 27 13:18:35 2012)
提到: && 哎 很久没灌水了 理解力下降了许多
【 在 zli07 (Anonymous) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 13:15:40 2012), 站内
: 你说滴跟我说滴没有冲突,我滴意思是,nginx的一个线程可以同时serve很多个
: fastcgi请求,在php里可能是阻塞滴,但是nginx是异步io滴
: 【 在 huozhe 的大作中提到: 】
: : 不是一个东西&&
: : nginx把处理丢给后面的fastcgi来解决 nginx并不解析执行php
: ※ 来源:·水木社区 ·[FROM: 61.135.169.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
wavefly (wavefly) 于
(Thu Dec 27 13:26:21 2012)
提到: && 求链接地址。 && 在linux环境下,创建进程的代价很低,而在windows下创建一个进程是一个很重的操作,在有个测试文章介绍,windows创建进程CreateProcess操作比linux的fork操作慢了28倍。在《Unix编程艺术》这本书倡导多进程编码。
【 在 spkid 的大作中提到: 】
: 才看到一篇JVM调优的文章说,64位JVM不如32位的,因为堆太大,fullGC时间长
: 另外呢,有些OS是用户态多线程实现,内核不知道有多个线程,还是只给整个java进程分配一个CPU,不能把多线程调度到多CPU上
:&& &&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 13:28:38 2012)
提到: && 豆丁上的,搜下JVM,就有很多
chrome的页面用多进程渲染,那就是比Linux版本慢得多? && 【 在 wavefly 的大作中提到: 】
: 求链接地址。
: 在linux环境下,创建进程的代价很低,而在windows下创建一个进程是一个很重的操作,在有个测试文章介绍,windows创建进程CreateProcess操作比linux的fork操作慢了28倍。在《Unix编程艺术》这本书倡导多进程编码。
&&&&&& ☆─────────────────────────────────────☆ &&
nokia9500 (nokia9500) 于
(Thu Dec 27 13:40:25 2012)
提到: && 大哥,你要是ipc都上了就自动的写个多进程java程序吧。。。。
【 在 spkid (spkid) 的大作中提到: 】
: 共享数据可以用IPC
: 每个进程分别GC,还能错开GC的时间,防止全部线程暂停
&&&&&& ☆─────────────────────────────────────☆ &&
wavefly (wavefly) 于
(Thu Dec 27 13:48:12 2012)
提到: && 理论上感受不到,每次操作时间单位是ms
【 在 spkid 的大作中提到: 】
: 豆丁上的,搜下JVM,就有很多
: chrome的页面用多进程渲染,那就是比Linux版本慢得多?
:&& &&&&&& ☆─────────────────────────────────────☆ &&
snnn (cm) 于
(Thu Dec 27 15:32:56 2012)
提到: && lz大概以为不能 && 【 在 Orpherus (奥路菲) 的大作中提到: 】
: java不能多进程?
&&&&&&&& ☆─────────────────────────────────────☆ &&
snnn (cm) 于
(Thu Dec 27 15:34:22 2012)
提到: && 多少年前的文章。。。
让我们这种用36G的heapsize的人情何以堪…… && 【 在 spkid (spkid) 的大作中提到: 】
: 才看到一篇JVM调优的文章说,64位JVM不如32位的,因为堆太大,fullGC时间长
: 另外呢,有些OS是用户态多线程实现,内核不知道有多个线程,还是只给整个java进程分配一个CPU,不能把多线程调度到多CPU上
&&&&&&&& ☆─────────────────────────────────────☆ &&
kabbesy (玩命儿提高政治觉悟) 于
(Thu Dec 27 15:47:29 2012)
提到: && 真心求36g heap的java启动参数!!! && 【 在 snnn (cm) 的大作中提到: 】
: 多少年前的文章。。。
: 让我们这种用36G的heapsize的人情何以堪……
&&&&&&&& ☆─────────────────────────────────────☆ &&
stitch005 (stitch) 于
(Thu Dec 27 17:34:28 2012)
提到: && 和设置1024M HeapSize是一样的。。。 && 【 在 kabbesy 的大作中提到: 】
: 真心求36g heap的java启动参数!!!
&& :&& &&&&&& ☆─────────────────────────────────────☆ &&
hoar (hoar) 于
(Thu Dec 27 17:52:53 2012)
提到: && nio是同步非阻塞io。aio才是异步io
【 在 Orpherus (奥路菲) 的大作中提到: 】
: java不是早就搞了NIO么
&&&&&& ☆─────────────────────────────────────☆ &&
hoar (hoar) 于
(Thu Dec 27 17:54:47 2012)
提到: && 异步io操作系统不支持,nginx咋做的。你别说自己封成eda方式的,那java海了去
【 在 zli07 (Anonymous) 的大作中提到: 】
: 进程的创建比线程的创建耗的资源多多了。而且nginx跟java没得比,nginx的总线
程数未必比起一个java服务附带的GC,monitor等的线程多,但是nginx支持的并发数
就是大,是因为事件驱动IO很好的解决了阻塞问题。所以java服务要改进也应该在异
步IO下功夫而不是增加进程数,后者于事无补。 &&&&&& ☆─────────────────────────────────────☆ &&
roller (搅搅更健康) 于
(Thu Dec 27 18:25:35 2012)
提到: && lz,从操作系统实现的角度来看多线程但进程和多进程多线程没有任何区别呀 &&&& ☆─────────────────────────────────────☆ &&
ccddee (when_when) 于
(Thu Dec 27 18:30:18 2012)
提到: && Inter-process communication, 但实际上java一般用RMI remote process call。 不过这都是有点岁数的东西了。现在大多数项目更倾向于web-service了。
【 在 stitch005 的大作中提到: 】
: IPC是什么缩写,求扫盲,谢谢!
:&& &&&&&& ☆─────────────────────────────────────☆ &&
changejava (Jim) 于
(Thu Dec 27 18:41:10 2012)
提到: && 就设置参数和原理解释!
【 在 stitch005 的大作中提到: 】
: 和设置1024M HeapSize是一样的。。。
:&& &&&&&& ☆─────────────────────────────────────☆ &&
spkid (spkid) 于
(Thu Dec 27 19:50:06 2012)
提到: && 多进程更可靠些啊,死掉一个进程,不会影响所有的线程
一个进程做GC,只有这个进程体内的线程会暂停,其它线程不受影响啊 && 【 在 roller 的大作中提到: 】
: lz,从操作系统实现的角度来看多线程但进程和多进程多线程没有任何区别呀
&&&&&& ☆─────────────────────────────────────☆ &&
root (admin) 于
(Thu Dec 27 19:53:05 2012)
提到: && 一般是多开几个server做cluster && 【 在 spkid (spkid) 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
roller (搅搅更健康) 于
(Thu Dec 27 21:01:30 2012)
提到: && 建议找本操作系统和内核的书看看再讨论进程线程的问题吧,lz你基本概念还没有搞清楚就不要来java版发这种结论了,被喷都是给面子了。nginx比java优越的地方是因为没有内存陷阱,其他地方看不出来有任何优势。java也有netty这种高性能的支持长连接的server。只是由于内存陷阱的缘故,单instance hold的connection数目上限比nginx要小的多。跟你所谓的什么进程线程worker毛关系没有。你可以查查akka和netty的performance test result,不比nginx差多少。
【 在 spkid 的大作中提到: 】
: 多进程更可靠些啊,死掉一个进程,不会影响所有的线程
: 一个进程做GC,只有这个进程体内的线程会暂停,其它线程不受影响啊
:&& &&&&&& ☆─────────────────────────────────────☆ &&
plantegg (茄子) 于
(Thu Dec 27 21:07:52 2012)
提到: &&&&求36G的应用案例类型,参数配置和实际GC的时候的平均暂停时间 &&多谢了
【 在 snnn (cm) 的大作中提到: 】
: 多少年前的文章。。。
: 让我们这种用36G的heapsize的人情何以堪……
&&&&&&&& ☆─────────────────────────────────────☆ &&
at4 (Sean) 于
(Thu Dec 27 22:08:39 2012)
提到: && 太偏激了,Java擅长的不是做Web server,而且java容器经常是和Nginx、Haproxy等前端server搭配使用的,它们之间是分工合作的搭档而不是非此即彼的竞争对手。 && 【 在 spkid (spkid) 的大作中提到: 】
: 用Nginx,单机几万并发连接轻松搞定,换Java,还得集群,还要高价的许可证,多亏啊
: 所以,这就是大型网站少用Java,多用PHP,python的原因?
&&&&&&&& ☆─────────────────────────────────────☆ &&
llvm (llvm) 于
(Thu Dec 27 23:10:12 2012)
提到: && 这个是怎么搭配起来的?一直听说淘宝是这么做的,但是不知道具体方法,求教。。。
【 在 at4 的大作中提到: 】
: 太偏激了,Java擅长的不是做Web server,而且java容器经常是和Nginx、Haproxy等前端server搭配使用的,它们之间是分工合作的搭档而不是非此即彼的竞争对手。
: &&&& ☆─────────────────────────────────────☆ &&
sharong (陆壮飞) 于
(Thu Dec 27 23:40:20 2012)
提到: && 有教科书上明示是这个说法
【 在 thisyears (这些年) 的大作中提到: 】
: 线程相对进程来说,消耗资源少吧。
&&&&&& ☆─────────────────────────────────────☆ &&
basicthinker (乐忧) 于
(Fri Dec 28 00:54:25 2012)
提到: && 不光服务器啊。所以你看 dalvik 改了么,哈哈 && 【 在 spkid 的大作中提到: 】
: 在32位操作系统上,单个进程占用的内存大小限制在2GB
: 而且,多线程没有多进程可靠性强,虽然系统开销小
: 在服务器上,应该给用户选择,多进程多线程混合模式,就像Nginx的worker模型,指定几个worker就启动几个进程,然后把连接请求作为线程分配到worker
&&&&&& ☆─────────────────────────────────────☆ &&
was (银杏叶◇All the Stars Shone Down) 于
(Fri Dec 28 01:28:21 2012)
提到: && 和 tomcat + apache 的搭配没有半毛钱本质不同..
【 在 llvm (llvm) 的大作中提到: 】
: 标&&题: Re: 为什么Java设计为多线程单进程?
: 发信站: 水木社区 (Thu Dec 27 23:10:12 2012), 站内
: 这个是怎么搭配起来的?一直听说淘宝是这么做的,但是不知道具体方法,求教。。。
: 【 在 at4 的大作中提到: 】
: : 太偏激了,Java擅长的不是做Web server,而且java容器经常是和Nginx、Haproxy等前端server搭配使用的,它们之间是分工合作的搭档而不是非此即彼的竞争对手。
: ※ 来源:·水木社区 ·[FROM: 124.205.76.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
llvm (llvm) 于
(Fri Dec 28 07:20:01 2012)
提到: && 在tomcat前面再加一个web服务器的优点是什么?
【 在 was 的大作中提到: 】
: 和 tomcat + apache 的搭配没有半毛钱本质不同..
: &&&& ☆─────────────────────────────────────☆ &&
recoba (雷科巴-漂流) 于
(Fri Dec 28 09:05:35 2012)
提到: &&&& web服务器处理静态,tomcat 处理动态,性能会提高
【 在 llvm (llvm) 的大作中提到: 】
: 在tomcat前面再加一个web服务器的优点是什么?
&&&&&&&& ☆─────────────────────────────────────☆ &&
at4 (Sean) 于
(Fri Dec 28 12:49:22 2012)
提到: && 常见的几个目的:
1、动态静态请求分离
3、负载均衡
4、挡连接 && 第4个目的,简单说一下: && tomcat、resin之类的java服务器如果直接裸奔面对大量用户的话,要创建大量的线程来处理用户请求,如果处理速度跟不上,线程资源就无法释放和被复用,最后资源耗尽服务器挂掉。http协议本质上是用的tcp连接,当tomcat直接跟用户建立链接的时候,除了按业务逻辑处理请求,还要把处理结果返回给用户,而如果用户网络不好或者断开了,那tomcat会阻塞在写数据这一环节,占用cpu和内存资源直到超时。而如果前面有个nginx,tomcat只需要直接把内容吐给本地的nginx即可,不活跃或者慢速的链接对于工作在epoll事件驱动和单线程模式下的nginx来说耗费资源很少。 &&&&&&&& 【 在 llvm (llvm) 的大作中提到: 】
: 在tomcat前面再加一个web服务器的优点是什么?
&&&&&&&& ☆─────────────────────────────────────☆ &&
kabbesy (玩命儿提高政治觉悟) 于
(Fri Dec 28 13:03:50 2012)
提到: && re && 【 在 at4 (Sean) 的大作中提到: 】
: 常见的几个目的:
: 1、动态静态请求分离
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
llvm (llvm) 于
(Sat Dec 29 09:06:17 2012)
提到: && 赞,太详细了!
【 在 at4 的大作中提到: 】
: 常见的几个目的:
: 1、动态静态请求分离
: ...................
&&&& 文章数:1&分页:

我要回帖

更多关于 java 多进程 多线程 的文章

 

随机推荐