2018年阿里中间件性能挑战赛--个人总结

1.比赛结果

 

2.比赛整体感觉

初赛的题目是写一个代理实现高性能的协议解析和转发,复赛是是实现一个单机的100g的mq存储。

题目都和io有关,自己实际在比赛过程中,实现了一套能跑的方案后,后续优化的效果不明显,例如

初赛第一版6140qps,后续只优化到6470qps。

复赛第一版67w,后续只优化到115w。

在初期我的排名还能进前20,后面就迅速被n多人超越。

其实关键效果的提升,都是以好的方案为基础,调参和细节优化,提升的并不明显,所以当落后第1梯队的时候,肯定是方案有瑕疵,所以竞赛的关键

是方案优化,针对痛点的优化,不要过于依赖随机的测试。要学会在比赛中学习,学习用到比赛,提高成绩。

第1版方案很重要,其实如果一开始差距太大,对于后期自己能不能赶上,是有自我效能的降低。

对于自己的技术水平过于自信,对于别人的水平预判过低,思想上就没有重视对手。

 

3.比赛欠缺的东西

关键有效方案的优化,拿复赛举例子,如果把写缓冲和lru做了的话,预期应该能上180w。

当时没做,是用mmap方式发现加大buffer对于效果无明显提升,事后想想其实是mmap导致,如果用pwrite等系统api追加

效果应该会有提升,所以好的方案应该是符合常理,如果不符合常理应该是自己用的有问题。

把性能追求极致,之前工作总感觉用性价比最高的方式实现是有好处的,其实这样不适合比赛,因为比赛是以成绩为导向,只有把

性能追求到极致,才能竞争过别人,这个追求极致不是把n多细节优化到极致,而是大的方案基本对路,关键点做到位,其实进20不难。

不能因为方案复杂就放弃,可以考虑用开源等等。

珍惜好时间,尤其是复赛的时间,非常宝贵。

 

4.比赛好的方面

工程实现方面,复赛基本实现了bugfree,发现小问题,也基本能很快解决

把一个不太会的东西,通过测试,上线,整个流程还是很快,比如mmap的应用

复赛熬了3天到晚上2点,战斗意志很高。

 

posted @ 2018-07-13 14:15  dodng  阅读(1995)  评论(1编辑  收藏  举报