转载请注明出处:http://blog.csdn.net/gaoyanjie55/article/details/34981077
性能优化。它是一种诊断性能瓶颈,能问题点进行优化的过程。前两天听完shaoling的讲座学到非常多。做APP和System的两拨人如今看到的计算机是不同的。APP的开发人员看到的是抽象接口,已经不再关心底层的实现。当一个未经优化的程序由System背景的人优化一次一般会有2-10倍的性能提升,当然优化过后再有提升再牛的大牛也顶多20%的提升。
即使如今APP开发已经不再去深究底层,可是对工作负载的密集类型了解还是十分必要的,毕竟算法要跑在机器上。这个优化的过程是如何实现的呢。这就不得不说我们须要两个工具,Benchmark和Profiler。Benchmark进行性能的压榨和暴露问题,Profiler将整个执行状况呈现出来无论是log还是可视化的界面。
Benchmark如今主流的一些Benchmark,Hadoop的Hibench ,GridMix。Berkeley Bigdatabench以及 TPC-DS等都有各自适应的场景。Benchmark就是要在指定的数据集上跑各种不同密集型的计算Workload来暴露性能问题。
Profiler能够在不同层次,体系结构,JVM。大数据系统,各个层次去看系统的CPU,Mem,IO的利用率。吞吐量,任务执行时间。去发现费时费空间的作业 ->任务->代码。最后针对指定的出问题的代码进行调优和优化,或者对执行配置參数进行调整。
Benchmark和Profiler是人们居家必备良的系统。
版权声明:本文博主原创文章,博客,未经同意不得转载。