`
zhoujm
  • 浏览: 11468 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Comet连接数测试java

    博客分类:
  • Java
阅读更多

 

操作系统:

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 服务器的性能瓶颈,链接数量再增加下去没有任何意义。

 

分享到:
评论

相关推荐

    面向 Java 开发人员的 Ajax: 使用 Jetty 和 Direct Web Remoting 编写可扩展的 Comet 应用程序

    5. **测试和优化**:测试应用程序的性能和稳定性,根据需求进行优化,例如调整连接超时、并发连接数等参数。 **源码分析**: 在提供的`j-jetty-dwr-comet-src`压缩包中,可能包含了上述步骤的示例代码。通过研究...

    comet4j所需js与jar包(tomcat6与tomcat7)

    5. 测试与优化:测试应用的实时性,根据需求调整连接超时时间、并发连接数等参数,以达到最佳性能。 总的来说,Comet4j是实现服务器向客户端实时推送数据的一种解决方案,通过提供服务器端的Java库和客户端的...

    comet4j整套开发包最新版

    - 考虑到HTTP长连接可能会占用服务器资源,需要合理设置连接超时和最大连接数,避免服务器资源耗尽。 - 测试环境中,确保浏览器允许长时间的HTTP连接,因为某些浏览器会限制非活动HTTP连接的持续时间。 - 考虑到...

    comet4j推送Demo

    5. **性能优化**:理解如何调整Comet4j的参数,如连接超时时间、并发连接数等,以适应不同的应用场景和服务器负载。 6. **错误处理和异常恢复**:考虑到网络问题或其他异常情况,需要设计健壮的错误处理机制,确保...

    comet4j可运行demo

    - **配置文件**:可能包含Comet4j的配置文件,如`comet4j.properties`,用于设置服务器端的参数,如连接超时、最大连接数等。 - **示例数据**:可能有一些预定义的测试数据,用于演示服务器如何推送数据到客户端。 -...

    comet4j.zip完整资源

    4. **连接管理**:服务器需要有效管理这些持久连接,防止资源耗尽,这通常通过限制并发连接数和设置超时机制来实现。 在实际应用中,Comet4j提供了丰富的API和事件模型,开发者可以通过监听器来响应服务器的推送...

    Tomcat7和mysql连接池的配置方法和测试

    在上面的配置文件中,我们定义了一个名为 jdbc/mysql 的数据源,使用 MySQL 数据库驱动程序 com.mysql.jdbc.Driver,并指定了数据库连接 URL、用户名、密码、最大活动连接数、最大空闲连接数和最大等待时间。...

    dwr实现的网页即时聊天

    7. **安全性与优化**: 考虑到性能和安全,开发者可能需要限制并发连接数,以及实施身份验证和授权机制,确保只有经过认证的用户才能参与聊天。此外,可能还需要优化长连接的管理,处理断线重连,以及消息的缓存和...

    jetty指导书

    在Linux环境下,可以通过调整内核参数来增加服务器的最大连接数。 **13.9 Linux下epoll启用配置** 对于Linux环境,启用epoll可以显著提高IO效率。 #### 十四、异步Servlet、AJax、Comet **14.1 异步Servlet** ...

    Resin_brochure

    - **Comet与大量Keep-alive连接**:Comet技术使得服务器能够主动推送数据到客户端,同时支持高达25K个并发连接,适合实时应用。 - **整合容器**:不仅支持Java应用,还集成了Quercus引擎,能够在同一容器中运行Java...

    《Jetty6_指南书》

    - **Linux下的配置**: 如何在Linux环境下调整最大连接数等配置。 #### 十四、异步Servlet与Comet - **Continuations机制**: 实现异步处理的关键技术。 - **AJAX Push**: 如何使用Jetty实现AJAX Push功能。 - **...

Global site tag (gtag.js) - Google Analytics