2017年总结及2018年计划

  时间的车轮已经滚过了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,架构和性能调优,数据库。

原文地址:https://www.cnblogs.com/Start12/p/8179632.html

时间: 2024-10-11 00:37:50

2017年总结及2018年计划的相关文章

2018新年计划

2018新年计划来的似乎有点晚,元旦一不小心给自己放了9天假,还算开心.上周开始正式步入2018年的工作,但是第一周由于闺蜜进传销的事情都没有认真想过2018年的新年计划.现在手头的工作完成的差不多了,整理一下2018年的计划. 1. 读书.2018除了技术书籍之外需要读18本书(发现自从自己变成了一个程序员之后都很少看和技术无关的书籍了). 2. 健身.如果有机会,希望学拳击. 3. 玩.每月最少出去玩两次,如果是远一些的地方,每个月可以一次(其实现在的频率是一周一次). 4. 乐器.长笛.(

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

前段时间看到版内经常会有2017年的总结,但我总觉得年还没过,2017就不算真正的过完,上周五公司开了部门年会,这周五公司要开公司年会,年会完了再过一周多就准备回家了,一年才算快到头了.今年对于我而言是一个多变的一年,到年底我算工作了两年半了,打算从以下几个方面总结: 2017 工作 上半年:上半年负责了部门最重要的一个项目,通过算法对用户人群进行分级,把公司的订单转换率提高了原来的订单转化率的2~4倍(月均),带来的大概是每月几百万~几千万的业务,业务方很满意,当然也是加班3个月的结果,从4月

2018年计划

12月上旬时做了一个计划,并不适合真正进入2018年的今天,因为12月又搬了一次家,这之后生活有些改变,自己的内心也有些改变,重新制定个简洁的计划. 感慨过美利一些关系特别好的同事的变化,孟哥也回阿里,鑫哥去知乎了,感慨变化之快,现在想来自己的变化也太大.2017年搬了四次家,动荡不安,刚刚熟悉了新环境,又搬走重现适应,折腾了不少时光.这次搬家是因为网易前端教程的原因,需要录制视频以及训练表达能力,所以整租了新房子.下面就是今年的计划了. 1.首先是本职工作.这个是必须要做好的,明年有多个轻量化

告别2017虚拟世界,走进2018现实世界

很久很久以前,一直喜欢使用VMware Workstation来模拟企业生产环境! 谈不上喜欢! 更多的时候,是企业,个人没有这么多真实环境! 在2017年,尽量抛弃虚拟环境! 在2017年,尽量采取真实环境! 准备了半年多,计划2017年07月01日开工测试,分享! 结果,各种因素,将时间推迟到2018年! 在今年,我将走向现实世界的一年! 由于时间问题,2017年12月31日,2018年1月1日,一直忙过不停 ! 未能用心来写作此博文! 此博文,只是记录2018年一个新的开始! 好戏还在后面

2017年度上半年总结和下半年计划

赶上端午节了,看了一下日历快六月份了,17年将要过去一半了,看了一下自己的计划表使我唯一坚持下来的估计只有晨练了,其它的事项都是蜻蜓点水,走马观花:下半年准备将那些蜻蜓点水和走马观花的部分监控起来,利用好下班两小时和假期时间. 一:文学类 上半年文学原著类看的很少,主要了解一些著名编剧陈杰的作品<大染坊>,<旱码头>等:蜻蜓点水一些电视剧原著小说作品<人民的名义>,<鲁迅入门读本>:对毛笔字有点小爱好,总是写不好,一直放在自己的床头前<欧楷解析>

2017年三月份小结和四月份计划

放假啦,放假啦,放假啦,重要的事情说三遍.今天青岛的天气很不错,很适合外出郊游,踏青啥的,想了想还是把重要的事情给办了,小结与计划:做完了总结在出去玩吧,嘿嘿. 从哪个模块说起呢呢,想了想还是总结一下下列模块来梳理吧:阅读,健身,恋爱进度,购物,生活感悟. 一.阅读 图片 这个月读的书籍比较乱,没有什么重点选择那本书籍进行浏览,都是这本书看十多页,那本书看二三十页,要说进行了精细阅读那本书籍恐怕要数邱鹏先生的那本书籍了(移动APPc测试实战) :其次阅读最多的是刘琛梅女士编辑的<测试架构师修炼之

2018年初 - 计划

2018年1月1日 - 2018年12月31日 #四原则: 吃饭(三餐拍照记录,七分饱妥妥的) 睡觉(早睡早起,睡前看看书) 工作(天资比不上判断后的自律控制,请保持一颗严肃的心) 健身(和吃饭那是一码事儿,刮风下雨你还能不吃饭) #俩目标: 大论文 机器学习课程 原文地址:https://www.cnblogs.com/WMT-Azura/p/8367225.html

2018学习计划

0.前言 毕业两年了,工作三年,一直做java相关开发.感觉自己做过的项目也不少,大的.小的都有,传统的,互联网的都不缺.同时也看过不少博客文章,订阅了不少公众号.但是始终感觉自己提升有限,于是决定从基础开始,进行一遍系统的学习.通过博客的方式记录自己的学习计划.进度及心得总结.希望能够提升自己. 1.学习计划之java基础篇 序号 知识点 计划时间 完成时间 心得体会 1 String 2018-06-05                                            

2017.8.5 Linux达人养成计划 I

参考来自:http://www.imooc.com/learn/175 1 linux简介 1.1 linux简介 linux分为了内核版本和发行版本. 二者的区别:内核版本是由官方提供,而不同的发行版本使用的内核基本一致,只是加入了自己的功能. 内核版本: 常见发行版本: 这里对几个重点的发行版本进行一下说明: 1 redhat是最常使用的,但是由于其收费(售后服务费),因此使用centos的越来越多.二者其实是一样的,只是centos不收费. 2 ubuntu的图形界面相比其他几个更出色,但