我试图通过套接字发送大量数据(基本上是将数据记录转换为字符串)并降低了其他程序的性能。是否可以使用gzip等压缩数据,并在另一端解压缩数据?压缩套接字发送数据
0
A
回答
1
是的,但压缩和解压缩也有其成本。
您可能想要考虑使用另一个进程或线程来处理数据传输;这可能比仅仅进行压缩更困难,但是当数据负载增加n倍时可以更好地扩展。
+0
问题是服务器非常快速地生成数据,并且套接字是一个主要瓶颈。如果我不减少在套接字传输上花费的时间,它会真的影响我的性能 – aks 2010-09-08 04:58:04
0
当然,你可以做到这一点。发送二进制数据时,您必须注意平台的端点。
但是,你确定你的性能问题将通过压缩发送的数据来解决吗?你仍然会有额外的步骤(压缩/解压缩,可能解决endiannes问题)。
想想如何通过套接字进行通信。你正在使用同步或异步通信。如果你做同步读写,那么你可以感觉到性能的惩罚...
1
是的,这是可能的。 zlib是进行这种压缩和解压缩的库。但是,通过以二进制格式序列化数据记录而不是字符串可以更好地服务于您;这应该会提高性能,甚至可能比使用压缩更好。
1
是的。实现这个最简单的方法是使用古老的zlib
库。
该compress()
和uncompress()
实用功能可能是你在之后。
0
相关问题
- 1. 通过套接字发送压缩数据
- 2. 压缩通过C#套接字发送的数据?
- 3. 从tcp套接字解压缩数据
- 4. 套接字压缩数据的优点
- 5. 通过套接字压缩和解压缩数据
- 6. 发送和接收带有套接字的压缩文件
- 7. 通过网络套接字发送压缩数据(至Flash VNC应用程序)
- 8. 通过套接字发送压缩的JPG图像
- 9. C++通过套接字发送压缩的html到浏览器
- 10. 使用套接字传输/接收压缩数据:如何正确接收客户端发送的数据
- 11. 套接字 - 不发送/接收数据
- 12. 压缩数据发送到Webservice
- 13. 压缩从netty发送的数据
- 14. 在发送之前压缩数据
- 15. 通过套接字发送NULL数据
- 16. 通过UDP套接字发送数据
- 17. Android通过套接字发送数据
- 18. 在AF_PACKET套接字上发送数据
- 19. 套接字BufferedWriter.flush()不发送数据
- 20. LF将数据发送到套接字
- 21. C#套接字重构(数据发送)
- 22. 套接字不能发送数据
- 23. 套接字不发送数据
- 24. tcp套接字数据发送xml包
- 25. C++套接字卡住发送数据
- 26. 将数据发送到套接字列表中的套接字
- 27. 打开套接字,发送数据,关闭套接字=截断数据
- 28. PHP套接字发送数据,然后接收数据
- 29. 接收/发送数据报套接字数据
- 30. C#UDP套接字不接收数据,直到数据发送
您可以随时在应用程序层处理压缩/解压缩。 – vrdhn 2010-09-08 05:03:52