入职第一个任务就是做protobuf性能测试。一个是PHP那边对PB性能不是很满意,延迟有点难以接受,二来我们架构可能要推一个全平台通用的工具,所以想对比一下性能,了解一下问题在哪。因为之前对于序列化和反序列化工具没有什么概念,从头了解了下序列化的整个工作流程。简单的工作交给了我我也算是练练手。
有说的不对的还望指正,刚刚学了不久只能浅浅的谈一下
在线上实际使用中,为了PHP开发方面, 实际Protobuf在使用时封装为encode,decode 两个函数。encode, decode主要封装了从一个数组转化为对象和将对象转化为数组的操作,实现了 以数组的形式序列化和反序列化。
因为Protobuf本身是CPU消耗型的, Xhprof榜上有名也算正常,我们考虑的是能否接受这种消耗。 因为没有线上CPU负载相关的数据,很难说消耗多少CPU算多。因此我们这边先做了下Protobuf跟 PHP其他序列化方式的对比测试。