操作系统:
Linux 2.6.18-164.el5xen #1 SMP Tue Aug 18
15:59:52 EDT 2009 x86_64 GNU/Linux
CPU
:
4
核
model name
: Intel(R) Xeon(R) CPU
E5620
@ 2.40GHz
cpu MHz
: 2400.084
cache size
: 12288 KB
修改了系统参数:
/etc/security/limits.conf
root
soft
nofile
900000
root
hard
nofile
900000
内存:
7.5G
JVM
参数:
-server -Xms5632m -Xmx5632m -Xmn1024m
-XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=30
-XX:SurvivorRatio=8 -verbose:gc -Xloggc:/home/rentong/logs/gc.log -XX:+UseConcMarkSweepGC
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djava.awt.headless=true
-Djava.net.preferIPv4Stack=true
链接数
|
Load
|
CPU
|
系统内使用
|
Full
GC
时间
|
Old
区占用
|
5
万
|
0.05
|
0.5%-1%
|
3G
|
无
|
5.69%
|
10
万
|
0.1
|
1%-2.2%
|
3.4G
|
无
|
14.02%
|
20
万
|
0.3
|
2%-4%
|
4.5G
|
无
|
27.70%
|
30
万
|
0.4
|
2%-4%
|
5.5G
|
无
|
43.32%
|
39
万
|
0.5
|
2%-4%
|
6.5G
|
无
|
65.27%
|
|
|
|
|
|
|
在
YGC
的时,
CPU
会到
20%
当压测到
40
万时,系统内存还是占用
6.5G
。客户端接程序建立链接出现超时。服务端系统因
FUllGC
出现暂停假死情况。
服务端用
Netty
框实现
Http
服务。
客户端用
python epoll
阻塞
IO
建立大量的
Http
转义链接。
结论:在
Comet
链接数量上,内存是最重要的。
Comet
链接不可能一直等到有消息再
Reponse
,重新
Reqeust
,一般网络情况在
2
分钟没有数据传输时,交换机,路由器一些设置会断开这个链接。
当链接数到
20
万以上,以
60S
重新
Request
一次计算,
3.3
万的
QPS
已经成
HTTP
服务器的性能瓶颈,链接数量再增加下去没有任何意义。
分享到:
相关推荐
5. **测试和优化**:测试应用程序的性能和稳定性,根据需求进行优化,例如调整连接超时、并发连接数等参数。 **源码分析**: 在提供的`j-jetty-dwr-comet-src`压缩包中,可能包含了上述步骤的示例代码。通过研究...
5. 测试与优化:测试应用的实时性,根据需求调整连接超时时间、并发连接数等参数,以达到最佳性能。 总的来说,Comet4j是实现服务器向客户端实时推送数据的一种解决方案,通过提供服务器端的Java库和客户端的...
- 考虑到HTTP长连接可能会占用服务器资源,需要合理设置连接超时和最大连接数,避免服务器资源耗尽。 - 测试环境中,确保浏览器允许长时间的HTTP连接,因为某些浏览器会限制非活动HTTP连接的持续时间。 - 考虑到...
5. **性能优化**:理解如何调整Comet4j的参数,如连接超时时间、并发连接数等,以适应不同的应用场景和服务器负载。 6. **错误处理和异常恢复**:考虑到网络问题或其他异常情况,需要设计健壮的错误处理机制,确保...
- **配置文件**:可能包含Comet4j的配置文件,如`comet4j.properties`,用于设置服务器端的参数,如连接超时、最大连接数等。 - **示例数据**:可能有一些预定义的测试数据,用于演示服务器如何推送数据到客户端。 -...
4. **连接管理**:服务器需要有效管理这些持久连接,防止资源耗尽,这通常通过限制并发连接数和设置超时机制来实现。 在实际应用中,Comet4j提供了丰富的API和事件模型,开发者可以通过监听器来响应服务器的推送...
在上面的配置文件中,我们定义了一个名为 jdbc/mysql 的数据源,使用 MySQL 数据库驱动程序 com.mysql.jdbc.Driver,并指定了数据库连接 URL、用户名、密码、最大活动连接数、最大空闲连接数和最大等待时间。...
7. **安全性与优化**: 考虑到性能和安全,开发者可能需要限制并发连接数,以及实施身份验证和授权机制,确保只有经过认证的用户才能参与聊天。此外,可能还需要优化长连接的管理,处理断线重连,以及消息的缓存和...
在Linux环境下,可以通过调整内核参数来增加服务器的最大连接数。 **13.9 Linux下epoll启用配置** 对于Linux环境,启用epoll可以显著提高IO效率。 #### 十四、异步Servlet、AJax、Comet **14.1 异步Servlet** ...
- **Comet与大量Keep-alive连接**:Comet技术使得服务器能够主动推送数据到客户端,同时支持高达25K个并发连接,适合实时应用。 - **整合容器**:不仅支持Java应用,还集成了Quercus引擎,能够在同一容器中运行Java...
- **Linux下的配置**: 如何在Linux环境下调整最大连接数等配置。 #### 十四、异步Servlet与Comet - **Continuations机制**: 实现异步处理的关键技术。 - **AJAX Push**: 如何使用Jetty实现AJAX Push功能。 - **...