浏览 6654 次
锁定老帖子 主题:如何实现系统通讯速度更快?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-30
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-30
如果说长连接快还是短连接快,那么,就单个连接或单次使用来说,应该是长连接快,因为不需要再花时间在连接初始化上;就更多的负载来说,可能后者有优势,web的http协议基本上就是传输完即断开的无状态连接方式。
|
|
返回顶楼 | |
发表时间:2006-10-30
> 用Socket长连接方式,发送Java对象流,测试结果发送速度是1400个包/秒
这个基本上已经很快了。要想更快,可以试着合并包再发送,比如说每10个包合并发送一次。 至于采用其它技术,其底层也都是SOCKET,一般来说不可能更快,除非你们的SOCKET有问题。 |
|
返回顶楼 | |
发表时间:2006-11-01
在一个LAN中使用socket传送数据,只要你编程没有错误,传输速度都是差不多的了。NIO更多的是提高系统的可伸缩性,而不是传输速度。
|
|
返回顶楼 | |
发表时间:2006-11-01
JMS为了保证消息的可靠性,增加了确认流程以及持久化操作,因而必然比直接Send的要慢许多。至于NIO,主要是节省了线程资源。比如在长连接服务器(如:游戏、证券行情)中,无需针对每个客户端连接启用一个线程(对于一个JVM进程,超过50~100个线程后,线程切换消化太大,服务器的效率不增反而降低了),而是采用固定的线程数来处理任意客户端连接(当然也有限制,一般可以达到1000左右)。
|
|
返回顶楼 | |
发表时间:2006-11-01
想请教一下,如何用java实现长连接呢,我们的java系统需要和C的系统通讯,对方需要我们用长连接,一直不清楚怎么实现,请问有比较成熟的案例吗?
|
|
返回顶楼 | |
发表时间:2006-11-02
多谢各位的回复,其实就速度而言,1400条每秒的传输速度是可以接受了,下面我们对我们系统改造,准备尝试用Cindy来实现Socket通讯,减少在通讯上耗费的线程数,把更多的线程投给业务处理线程,这样可以提高系统的处理能力,另外准备引入JMS Server来协调不同组件之间的通讯,这样我想应该会让我们的系统能更强大一些,准备用Sun System Message Queue,性能比较有保证。
|
|
返回顶楼 | |
发表时间:2006-11-02
那些什么框架本身就很慢的东西,要想速度快最好自己重写吧,框架里很多东西可能会用不上,浪费资源。。
|
|
返回顶楼 | |
发表时间:2006-11-02
引用 那些什么框架本身就很慢的东西,要想速度快最好自己重写吧,框架里很多东西可能会用不上,浪费资源。。
晕,框架里用不上的东西怎么会浪费你的资源呢?难道说硬盘空间?那JDK里面的类你大多都没有用了,它也在浪费你的资源哦。 |
|
返回顶楼 | |