阿里资深软件测试工程师总结的这几点,让小白轻松搞懂性能调优


阿里资深软件测试工程师总结的这几点,让小白轻松搞懂性能调优

文章插图
 
  • 什么是性能调优?(what)
  • 为什么需要性能调优?(why)
  • 什么时候需要性能调优?(when)
  • 什么地方需要性能调优?(where)
  • 什么时候来进行性能调优?(who)
  • 怎么样进行性能调优?(How)
 
硬件配置:CUP Xeon E5620 x 2 8核心,内存 16G,硬盘 RAID 10
操作系统: centos 6.4 x86_64(64位)
注:5w+1h就是对所做工作进行科学的分析,对某一工作在调查研究的基础上:
 
  • 就其工作内容(What)
  • 责任者(Who)
  • 工作岗位(Where)
  • 工作时间(When)
  • 怎样操作(How)
  • 以及为何这样做(Why)
 
即对”5W”、”1H”进行书面描述,并按此描述进行操作,达到完成职务任务的目标 。
什么是性能调优?
阿里资深软件测试工程师总结的这几点,让小白轻松搞懂性能调优

文章插图
 
(what)
在说什么是性能调优之前我们先来说一下,计算机的体系结构 。
如上图,简单来说包括三块:硬件、操作系统、应用程序 。其实,性能调优就是调节这些内容,包括硬件、操作系统、应用程序 。其中,这三大方面中又包含了若干的内容 。
硬件包括: CPU、内存、磁盘、网卡、其它……,
操作系统包括 进程、虚拟内存、文件系统、网络、其它……,
应用程序我就不用说了大家都懂,常见的有Apache、MySQL、Nginx、Memcahed等 。
那什么是性能调优呢?
性能调优就是对计算机硬件、操作系统和应用有相当深入的了解,调节三者之间的关系,实现整个系统(包括硬件、操作系统、应用)的性能最大化,并能不断的满足现有的业务需求 。
这就是我们说的性能调优,客官你懂了嘛?
为什么需要性能调优?
(why)
下面我们来说一说为什么需要性能调优,其实说到底就两原因:一是为了获得更好的系统性能(就是你现有的系统运行的还不错,但优化一下可以运行的更好) 。二是通过性能调优来满足不断增加的业务需求 。为了更直观的帮助大家来理解为什么要性能调优?
我们分别从三个方面来说:
 
硬件选型(根据服务器应用类型来选购服务器)
操作系统发行版本 (选择发行版本)
应用程序 (Nginx、MySQL等)
 
1.硬件选型
不管你是租服务器也好还是自己买服务器也好都要遇到一个问题,我们选择什么样硬件配置的服务器 。
一般我们是根据应用类型来选择服务器,因为你不可能一种硬件配置来满足所有的应用需求,因为每个应用的具体需求不一样 。下面我们来看一下在项目实施中有哪些应用类型:
负载均衡:性能要求相对较低,因为只负责转发数据,但要保证选一性能突出的网卡即可 。(推荐配置:CPU E5620 x 1 内存 8G 硬盘 500G(RAID5))
web 服务器:一般只处理一些静态页面或者图片等,因此要求也不是很高,主流的服务器都可以 。(推荐配置:CPU E5620 x 1 内存 16G 硬盘 500G(RAID5))
应用服务器:一般应用程序服器,他承担网站功能的实现,在架构中占有比较重的位置,特别是网站架构中只有一台应用服务器,对CPU、内存、磁盘要求都比较高 。(推荐配置:CPU E5620 x 2 内存 32G 硬盘 500G(RAID10))
缓存服务器:分为前端页面缓存与后面数据缓存,他们典型的应用分别是Varnish与Memcached,对内存的要求比较大,一般我们配置服务器时使用较大有内存 。(推荐配置:CPU E5620 x 1 内存 32G 硬盘 500G(RAID10))
数据库服务器:数据服务器对CPU、内存、磁盘的要求都很高,一旦某个硬件是短板都会带来性能问题 。(推荐配置:CPU E5620 x 2 内存 64G 固态硬盘 500G(RAID10))
备份服务器:备份服务器一般就没有什么要求,但有点可以肯定是必须有足够大的硬盘空间 。(推荐配置:CPU E5620 x 1 内存 4G 硬盘 2TB(RAID5))
监控服务器:一般也没什么需要,普通的PC服务器就可以 。(推荐配置:CPU E5620 x 1 内存 4G 硬盘 500(RAID5))
其它服务器:至于其它服务器就看各位的具体需要具体分析了 。
这下各位知道什么是硬件的性能调优了吧,根据你具体的应用,进行具体分析特别是像MySQL这样的服务器,对CPU、内存、磁盘要求都比较高 。
所以,对硬件的性能调优我们必须做到选择合适的硬件配置 。这是网站架架构或者项目实施首先要解决的问题!


推荐阅读