
protobuf
傲然君
这个作者很懒,什么都没留下…
展开
-
protobuf 如何解析(大于64MB)超大报文
为了阻止恶意用户发送超大报文,而导致int溢出或服务端为解析报文而分配大量内存致使内存耗尽,protobuf规定int溢出的默认值阈值是64MB(理论是512MB)。因此,当调用ParseFromString(str)方法时,若str的长度>64MB,返回会返回失败。注意到protobuf中包含这样一个函数:void SetTotalBytesLimit(int total_bytes_limit,原创 2017-10-26 14:10:44 · 9249 阅读 · 5 评论 -
基于GSoap/protobuf的服务性能优化
一、业务场景前段时间,在做CS服务化的事情,其中有一个业务场景是这样的: CS在启动时,需要一次性向服务端请求各种地理图数据,该部分数据来源于将近200张表。起初为了方便,所有表使用同一个protobuf结构,且所有字段类型统一定义为bytes。 在120G内存服务器上的测试结果: 1、时间上:相比直接从数据库加载数据,服务化后单个CS的启动时间(将近3分钟)要超出一倍。若同时启动10个CS,原创 2017-11-19 14:12:21 · 1338 阅读 · 0 评论