文章插图
从 uptime 更新时间长短可以发现,很多服务在不断地重启 。可能是服务配置或者代码问题引起的 。其实是批量的服务出现配置问题导致了服务启动失败,然后 supervisor 监控到服务没有成功启动后又自动重启 。在解决完这些服务问题后,通过 top 再次看看性能情况:
$ topTasks: 2012 total,7 running, 2002 sleeping,0 stopped,3 zombieCpu(s): 29.7%us,5.4%sy,0.0%ni, 63.5%id,0.8%wa,0.0%hi,0.5%si,0.0%stMem:98979248k total, 96231348k used,2747900k free,1470892k buffersSwap:0k total,0k used,0k free, 60741708k cachedPID USERPRNIVIRTRESSHR S %CPU %MEMTIME+COMMAND13159 user200 9131m 6.2g13m S806.6 160593:01 mongod27545 user200 41880 6636 2896 S610.00:01.86 Python/ target=_blank class=infotextkey>Python27549 root200929m 882m616 R380.90:01.15 supervisord...
总结在动手进行性能优化前,需要考虑以下几个问题:- 如何判断优化是有效的呢?
- 有多个性能问题同时发生时,应该先优化哪一个?
- 提升方法有多种时,应该选择哪一种?
对于第二个问题,有一个 “二八原则”,也就是 80% 的问题都是由 20% 的代码导致的 。因此,并不是所有的性能问题都值得优化 。在动手优化前,往往需要把所有性能问题分析一遍,找出最重要的、可以最大程度提升性能的问题 。这个过程会花费较多的时间,下面有两个可以简化这一过程的方法:
- 如果发现出现系统瓶颈问题,那么首先优化的一定是系统资源问题 。
- 针对不同类型的指标,首先要去优化那些性能指标变化幅度最大的问题 。
参考
- https://time.geekbang.org/column/article/69618
- https://time.geekbang.org/column/article/69859
- https://time.geekbang.org/column/article/70476
- https://time.geekbang.org/column/article/72147
- http://www.lyyyuna.com/2020/05/29/perftest-analysis-cpu1/
- https://juejin.cn/post/6844903608371118094
- https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/top.html
推荐阅读
- 阿里云服务器 轻量应用服务器和云服务器ECS的区别
- 华为FAT AP设置图文教程
- 美丽|李少莉事件尘埃落定?没有结果就是最好的结果
- 柳岩|柳岩大秀上围,还不敌高圆圆一扭臀,红毯上的7对新仇旧恨,终于该彻底清算下了
- 哈珀·贝克汉姆|“女大避父”女儿年龄再小,身上的3个“区域”父亲也不要碰
- 张雨绮|张雨绮:“我和王安全该做的都做了”
- 电磁波的传播速度与介质有关吗 电磁波的传播速度
- 汽车铸铁发动机与全铝发动机有什么差别?了解清楚后,没必要在意
- 世界上最好的轮胎是哪个牌子?不做广告,一个一个“清算”!
- 刚换完机油亮红色的机油灯是咋回事呢?