这几天改写了PP以后,今天终于将版本更新上去了。
再次运行PP,结果在收集了一小时的数据以后崩溃了一次,虽然这个在意料之中,但是还是感觉很不爽。因为编译时采用了omit stack frame pointer的优化选项,结果看调用栈没有任何收获。
重启一段时间以后再次运行PP,这次为了保险起见,只运行了5分钟,从统计的角度来说也够了。
这次PP比上一次统计的更精确一些,首先是30us一次,其次可以统计到外部函数的调用情况(上次PP有一个bug,没能做到这一点)。
从这次结果中可以看出,服务器有几个比较明显的开销地方。一处是bzip压缩开销很大,还有一处是逻辑上的缺陷,在处理外观数据时居然每次都处理了一下配置表,结果开销浪费很大。除此之外,还有一些逻辑上的问题,做了一些无用功,重复处理导致浪费。预计这些简单的问题解决以后,服务器端的性能可以提升10-15%左右。如果能进一步解决掉一些比较复杂的问题,还有希望再提升10%。
从这段时间的进展来看,工具可以提升很大的效率。因此选择、开发合适的工具很重要,不过很多开发人员都忽视了这一点。
没有评论:
发表评论