zoukankan      html  css  js  c++  java
  • 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点,战斗意志很高。

  • 相关阅读:
    【SaltStack官方版】—— states教程, part 4
    【SaltStack官方版】—— states教程, part 3
    【SaltStack官方版】—— states教程, part 2
    斐波那契递归和非递归算法
    实现两个大数相乘
    快速排序算法
    HadoopMR-Spark-HBase-Hive
    windows10 conda python多版本切换
    websocket通信 实现java模拟一个client与webclient通信
    maven jsp out.print()request.getParameter() 爆红
  • 原文地址:https://www.cnblogs.com/dodng/p/9304654.html
Copyright © 2011-2022 走看看