2017年总结及2018年计划

start12      2022-02-07     425

关键词:

  时间的车轮已经滚过了2017,本来是计划年底12月份结束之前将过去一年的工作和学习总结下,无奈一直托更,看来拖延症还是没有改善;趁着2018年到来之时,月初留空,就将这件事情落实下。

  其实2017年大概就是折腾以下三件事情:

  一、以性能为相关的工作,这占用这一年的大部分时间,包括性能测试,性能分析和性能调优。

  1、性能测试:这没什么好说的,大都是重复的执行,先根据测试需求将测试场景设计好,然后重复执行,找到问题就需要记录,然后重新执行验证,挺枯燥的。

  2、性能分析:性能分析的关键在于数据的收集,没有数据收集何来分析呢,大数据分析也是这套路;数据收集又在于监控,针对不同的运行环境部署相应的监控配置;待数据收集完毕后,按预期的数据需求来分析数据,服务器的性能分析基本都是看CPU,内存,磁盘和IO,网络和IO等这些数据。大多数服务器又分为应用,中间件,数据库,让服务器专心干一种事情。

  CPU分析

  在观察CPU性能的时候,按照负载特征归纳的方法,可以检查如下清单:  

  * 整个系统范围内的CPU负载如何,CPU使用率如何,单个CPU的使用率呢?
  * CPU负载的并发程度如何?是单线程吗?有多少线程?
  * 哪个应用程序在使用CPU,使用了多少?
  * 哪个内核线程在使用CPU,使用了多少?
  * 中断的CPU用量有多少?
  * 用户空间和内核空间使用CPU的调用路径是什么样的?
  * 遇到了什么类型的停滞周期?

  这里列举了一些系统性能分析工具,调用路径和停滞周期的分析可以使用perf工具,dstat工具也比较常用,也可以使用DTrace等更灵活的工具。

  

工具

描述
uptime 平均负载
vmstat 包括系统范围的CPU平均负载
top 监控每个进程/线程CPU用量
pidstat 每个进程/线程CPU用量分解
ps 进程状态
perf CPU剖析和跟踪,性能计数器分析

更强大的工具可以使用火焰图,火焰图可以帮助分析CPU的调用路径。

内存分析

内存问题检查清单:

* 系统范围内的物理内存和虚拟内存使用率
* 换页、交换、oom的情况
* 内核和文件系统缓存的使用情况
* 进程的内存用于何处
* 进程为何分配内存
* 内核为何分配内存
* 哪些进程在持续地交换
* 进程或者内存是否存在内存泄漏?

内存的分析工具如下:

工具 描述
free 缓存容量统计信息
vmstat 虚拟内存统计信息
top 监视每个进程的内存使用情况
ps 进程状态
Dtrace 分配跟踪
 
除了DTrace,所有的工具只能回答信息统计,进程的内存使用情况等等,至于是否发生内存泄漏等,只能通过分配跟踪。但是DTrace需要对内核函数有很深入的了解,通过D语言编写脚本完成跟踪。Perf也有一些诸如cache-miss、page-faults的事件用于跟踪,但是并不直观。
 
磁盘和IO分析

对于磁盘IO,可以列出如下等问题来帮助我们分析性能问题:

* 每块磁盘的使用率是多少?
* 每块磁盘上有多长等待队列?
* 平均服务时间和等待时间时多少?
* 是哪个应用程序或者用户正在使用磁盘?
* 应用程序读写的方式是怎样的?
* 为什么会发起磁盘IO,内核调用路径是什么样的?
* 磁盘上的读写比是多少?
* 随机IO还是顺序IO?

 Linux对磁盘的性能分析工具主要如下:

工具 描述
iostat 各种单个磁盘统计信息
iotop、pidstat 按进程列出磁盘IO的使用情况
perf、Dtrace 跟踪工具
磁盘上是随机IO还是顺序IO,很多时候并没有很好的方式去判断,因为块设备回写磁盘的时候,随机IO可能已经被整理为顺序IO了。对于磁盘的分析同样可以使用perf跟踪事件或者DTrace设置探针。 
 
网络和IO分析
 
对于网络性能,可以列出一下问题来帮助参考分析:
* 平均数据包的大小(RX、TX)是多少?
* 协议是什么?TCP or UDP?
活跃的TCP/UDP端口是多少?B/s、每秒连接数?
*
 哪个进程在主动地使用网络?
 
Linux对网络的性能分析工具主要如下:
工具 描述
netstat 网络栈和接口统计信息
sar 统计信息历史
ifconfig 接口配置
perf、Dtrace TCP/IP栈跟踪:连接、数据包、丢包,延时
 
以上内容参考《性能之巅:洞悉系统、企业与云计算》和服务器性能优化的正确姿势http://www.brendangregg.com,了解详细的内容也可以去阅读。
 
3、性能调优:这一年的调优主要是数据库方向的调优,因为性能测试发现数据库是性能瓶颈的问题所在,引起性能瓶颈的原因是数据库服务的IO负载高和表索引;将磁盘从普通的硬盘换成SSD可以解决IO负载高的问题,表索引的问题需要将关键的SQL语句找出来,针对性优化。具体的优化步骤由于篇幅过大,这里不做详细解说,有时间另外开篇。
 
关于性能调优的问题,可以看看《性能之巅:洞悉系统、企业与云计算》和《图解性能优化》这两本书,京东上都有售,价格加起来差不多200来块钱,不算太贵。
 
二、学习Python接口测试和Django
 
2016年底看到虫师在博客更新关于Pyhton接口测试方面,于是也跟着节奏学习;到3月份实体书《Web接口开发与自动化测试——基于Python语言》,主要还是学习Django接口开发和测试,然后也写了一个简单的博客系统,一直修修补补,到现在也没完工。
 
三、学习Pyhton爬虫和多线程
 
学习爬虫开始目的是为了网上爬点妹子下来,也是在网上发现这个网站比较有趣:http://cuiqingcai.com/,然后就是跟着玩,接着玩了大概3个月,从8月到11月,每天下班回去就研究爬虫写代码;主要是学习Requests库,Beautiful Soup,xpath语法,多线程和MongoDB。
 
以上就是这一年折腾的事情了,对于2018年,计划是做这三件事,重新学习Java,架构和性能调优,数据库。

2017年总结与2018年目标和计划

  前段时间看到版内经常会有2017年的总结,但我总觉得年还没过,2017就不算真正的过完,上周五公司开了部门年会,这周五公司要开公司年会,年会完了再过一周多就准备回家了,一年才算快到头了。今年对于我而言是一个... 查看详情

2017小结及遇见更好的2018

...减肥,目标达成度:工作不满意,减肥不成功。跟辉同学总结这一年说,这一年白干了,没啥收获,辉同学调侃说“你这一年光跑步去了”,大大的惭愧表情。其实,漫无目的没有计划的效果甚微,工作上也是,只是做好自己工... 查看详情

2018年计划review,2019年计划kickoff

...Kickoff2018年初,我在我的公众号发表了一篇文章,主要是总结了一下自己的2017年,并给自己的2018年设定了14个计划。2018年计划Review?1、坚持健身??2、公众号粉丝破2万??3、公众号和博客文章坚持日更,原创文章坚持周更?4、买一个... 查看详情

年度总结2017年年度总结(代码片段)

2017年年终总结用词语形容一下我的2017,那就是幸运、经历、蜕变,这一年里我经历了大学毕业,经历了生离死别,有苦也有乐,有悲也有喜,但是总体而言,2017年使我变成了另外一个人,或许在外人看来这变化微乎及微,但是... 查看详情

目标计划及执行情况

计划目标掌握的程度时间完成情况备注学习WebApi能用,会用2018年7月16日~2018年7月22日0学习WebService能用,会用2018年7月9日~2018年7月15日100%成功做了个例子2018年7月2日~2018年7月8日0继续完成上周任务2018年6月25日~2018年7月1日0继续完... 查看详情

2017总结及2018计划

2017计划:1.计划管理的东西还是要继续做下去,基于目前的简单实现一点点用,用的过程中再不断迭代(过年期间完成,3月前正式使用)   2.学习swift重写app(2月左右)3.尽可能用rn之类的把两端app统一起来,降低维... 查看详情

2018年11月18日atcronb计划任务及添加删除任务

查看详情

2018年总结和明年计划

...  辞旧迎新,又是新的一年即将到来,是到写年终总结和新年计划的时候了。二、2018年终总结  2018年写总结的时候很简单,因为在2017年底给自己立了flag,接下来我对flag完成情况进行下总结:  先从工作说起... 查看详情

2018年作息及读书计划

对于健康来说,年轻并不是资本,因为如果你肆意的挥霍,30岁之后都会一一报偿回来,养成好作息吧,不熬夜、不暴饮暴食、不吸烟、多运动,这才是健康生活的真谛哟!!作息时间表05:00起床05:00~06:30看书06:30~06.40洗漱06:40~07:3... 查看详情

2017年秋季个人阅读计划

本学期阅读计划总结如下:1.本学期计划精读的书是《需求分析与系统设计》,并按时发表阅读笔记;2.各篇阅读笔记的计划发表时间如下:  查看详情

2018年全年回顾及2019年计划

...4个年头,步入第25个年头,呸,换个话题。又到了写年终总结的时候了,今天本熊放假,就回顾一下本熊2018年的生活。    18年1月的时候,本熊还在上一家公司,只不过从公司的研究所被分配到了家电部,从智能... 查看详情

自强队视觉组备战2018训练计划(2017年12月)

...备借鉴“精海模式”,在组内实行以项目制为主体的训练计划。阶段性目标第一阶段,所有组员必 查看详情

2018年总计&&2019年计划(代码片段)

...才意识到博客已经荒废了许久。其实自己最近也是考虑了总结一下这个繁忙的2018。2019计划:1.多给家里通电话;2.关心照顾好小奶糖;3.多读书,非小说;4.坚持吃黑芝麻;5.build一个能称为系统的系统;6.学会管理情绪;7.少吃多... 查看详情

17年总结与18年计划

背景后天就放年假了,有必要好好总结过去、规划一下来年。17年总结刚看了去年2月3号做的2017年规划,健身与音乐两项基本完成,17年大致:做了完成了人生第一个全程马拉松,虽然成绩有点差:参加了... 查看详情

2018年总结

...8年渐行渐远,2019年已经来到。想到要给2018年做一个小的总结,奈何不知道如何开始。本想着2018年31号一定要给2018年做一个总结,心里却是十万个不愿意,想不到居然拖到了今天。今天狠下心来,无论如何都要动手写一点。居... 查看详情

白盒测试实践-

...0日李凌勇,禹慧慧,汤芳锐召开评审会2017年12月11日胡芸总结会议记录2017年12月11日李越评审总结表2017年12月11日李越代码静态检测2017年12月12日盛威编写测试脚本,完成单元测试2017年12月12日李凌勇,禹慧慧,汤芳锐   查看详情

2018年年度总结&2019年计划

...文最爱写的开头,时间如白驹过隙,回想上次写17年年度总结,仿佛也就过了几日光景。 首先回顾一下17年定下的目标,18年我将关键字设为探索,目的有两个,一是了解其他软件公司是怎么玩的,二是软件测试职业规划需要... 查看详情

2019年51cto学院发布课程回顾总结-引莫(孙忠)

2019年51CTO学院发布课程回顾总结2018年期间共发布五套教程:bat批处理自动发邮件、bat批处理自动数据备份、oracle数据库安装、EXCEL库存库位管理模板2017年共发布7套课程:bat批处理之文件管理、虚拟机工作站、EXCEL功能及函数2016年... 查看详情