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