Grizzly和Jersey独立传输数据非常慢,以及如何改进/配置它?

时间:2012-06-04 13:38:13

标签: performance rest jersey nio grizzly

我正在使用Jersey 1.12和Grizzly,使用Jackson生成JSON输出。如果生成的结果要大得多,则数据传输速度非常慢。

我在同一个盒子上运行服务器和客户端,350KB数据的传输速度大约是350KB /秒,这很慢,对吧?如何调整这个?我监视了生成一个准备好序列化为JSON的对象列表的API,它在第一次之后大约是50ms。

我将Grizzly NIO工作线程的数量设置为40。

我在

上运行服务器
Linux 2.6.18-274.7.1.el5 #1 SMP Thu Oct 20 16:21:01 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

此服务器有8个核心。

1 个答案:

答案 0 :(得分:0)

也许你的堆空间不足,导致VM更积极地尝试GC导致更长和更频繁的GC循环?数据有多大?您是否正在使用日志记录过滤器(它缓冲实体 - 将其全部加载到内存中)?尝试增加堆大小或确保以流式方式发送/接收数据,而不是将其全部保存在内存中。