忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 11721 | 回复: 8

[系统] 【大话IT】云计算环境下的系统性能分析优化 [复制链接]

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
发表于 2017-07-03 15:12 |显示全部楼层
话题背景:

如今IT技术 正在飞快的发展,尤其是云计算的兴起,很多人对系统细节不再了解。
但是为了性能的调优,仍需要理解系统内部的架构。

IT架构虽然朝着黑盒化的方向发展,工程人员仍要在理解结构的基础上对性能进行优化。

那么现在要如何对系统性能进行分析呢? 大家可以不限于下列几点为起点,谈谈自己现在的体会。


本期讨论问题:

1. 什么是必要的性能信息,如何测量呢?有没有套路?
2. 如何着手性能分析,初学者容易趟的坑是是什么
3. 性能调优的准则是什么?或者有啥常用技巧可以分享


活动时间:2017年7月4日—8月4日


活动奖励:
活动结束后,我们将选取5位讨论精彩的同学,送技术图书《深入理解Android内核设计思想(第2版)

作者: 林学森   
出版社:人民邮电出版社
ISBN:9787115452634
上架时间:2017-6-27
出版日期:2017 年6月
开本:16开
页码:996
版次:2-1
所属分类:计算机 > 软件与程序设计 > 移动开发 > Android


购书链接:
https://item.jd.com/12212640.html

内容简介:全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、Binder机制、GUI显示系统、多媒体管理、输入系统、虚拟机等核心技术在Android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。本书分为编译篇、系统原理篇、应用原理篇、系统工具篇,共4篇25章,基本涵盖了参与Android开发所需具备的知识,并通过大量图片与实例来引导读者学习,以求尽量在源码分析外为读者提供更易于理解的思维方式。

样章试读: 深入理解Android内核设计思想(第2版)(上下册).pdf (7.55 MB, 下载次数: 0)

论坛徽章:
22
CU大牛徽章
日期:2013-09-18 15:22:06摩羯座
日期:2014-03-25 23:51:36技术图书徽章
日期:2014-04-03 16:47:26白羊座
日期:2014-04-14 22:56:32午马
日期:2014-05-16 17:18:08未羊
日期:2014-08-12 22:15:31神斗士
日期:2015-11-20 17:26:2515-16赛季CBA联赛之浙江
日期:2016-03-15 18:27:4215-16赛季CBA联赛之同曦
日期:2016-03-22 09:21:0115-16赛季CBA联赛之北控
日期:2017-03-26 21:47:12寅虎
日期:2014-03-25 21:54:32寅虎
日期:2014-06-03 10:53:34
发表于 2017-07-05 14:31 |显示全部楼层
1. 什么是必要的性能信息,如何测量呢?有没有套路?
硬件性能信息是各个资源的使用率、使用情况,一般的监控软件都可以做到并且详细记录。
软件的性能信息,常用的软件功能都有监控的api、接口之类的结合使用。即使以黑盒方式调用,也可以针对调用该黑盒功能的情况进行应的统计(例如处理次数,处理时间,错误率),对使用情况进行充分的测量(如市面上的apm工具)。另外,更深一些的是对整个链路请求的分析和跟踪,但这一步相对而言比较困难(可以参考谷歌的dapper)。最能摸清软件的性能情况,最主要就是模拟各种常见对其进行持久的压力测试,一般有常用工具,再不济也可以写脚本测试跑。在这些数据的支撑下,就可以比较好获得出软件的性能信息。

2. 如何着手性能分析,初学者容易趟的坑是是什么
在对系统有大概的了解前,就对某个模块进行分析是没有意义的。先理顺关系,简单测试后找到关键点进行解决,而不是浪费力量做一些无关的事情。高手通常听到描述就能够知道大概什么位置出现问题,要做些什么,这些都是要靠积累。

3. 性能调优的准则是什么?或者有啥常用技巧可以分享
找到问题导致的原因,在不影响软件其他性能的情况下,再进行参数修改或者优化。有些时候修改某个参数或者功能必然会影响到其他方面(例如数据库),我们只能够在现实情况进行妥协,类似设计一样,顾及到各方面。有些时候没有办法做,该要的资源还是要。

论坛徽章:
135
2015年亚洲杯之日本
日期:2015-04-28 13:32:012015年亚洲杯之朝鲜
日期:2015-05-06 10:16:442015年亚洲杯之日本
日期:2015-05-06 10:21:342015年亚洲杯纪念徽章
日期:2015-05-13 17:16:442015亚冠之北京国安
日期:2015-05-13 17:18:292015亚冠之鹿岛鹿角
日期:2015-05-13 17:19:062015亚冠之德黑兰石油
日期:2015-05-27 16:47:402015亚冠之塔什干棉农
日期:2015-05-28 15:24:122015亚冠之卡尔希纳萨夫
日期:2015-06-01 13:52:392015亚冠之柏斯波利斯
日期:2015-06-04 17:37:292015亚冠之阿尔纳斯尔
日期:2015-06-16 11:31:202015亚冠之塔什干火车头
日期:2015-06-23 10:12:33
发表于 2017-07-07 09:29 |显示全部楼层
回复 1# crazyhadoop

支持

论坛徽章:
21
IT运维版块每日发帖之星
日期:2016-04-01 06:20:00数据库技术版块每日发帖之星
日期:2016-06-29 06:20:00数据库技术版块每日发帖之星
日期:2016-06-30 06:20:0015-16赛季CBA联赛之福建
日期:2016-07-18 09:10:1715-16赛季CBA联赛之广东
日期:2016-07-25 18:17:09C
日期:2016-10-25 16:10:552017金鸡报晓
日期:2017-02-08 10:39:4215-16赛季CBA联赛之同曦
日期:2017-02-11 13:43:1415-16赛季CBA联赛之同曦
日期:2017-05-13 19:24:382015-2016NBA季后赛纪念章
日期:2016-06-28 17:40:2815-16赛季CBA联赛之江苏
日期:2016-06-26 15:23:1215-16赛季CBA联赛之新疆
日期:2016-06-24 14:00:42
发表于 2017-07-07 09:39 |显示全部楼层
1. 什么是必要的性能信息,如何测量呢?有没有套路?
CPU,内存,磁盘读取是必要的性能信息,通过命令或者工具读取。

2. 如何着手性能分析,初学者容易趟的坑是是什么
通过查看监控,日志。

3. 性能调优的准则是什么?或者有啥常用技巧可以分享
和有经验的沟通。


论坛徽章:
16
处女座
日期:2014-07-18 14:50:542017金鸡报晓
日期:2017-02-08 10:33:212017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之深圳
日期:2016-12-15 17:55:53C
日期:2016-10-25 16:00:1515-16赛季CBA联赛之新疆
日期:2016-07-21 14:02:0415-16赛季CBA联赛之江苏
日期:2016-06-30 12:15:04shanzhi
日期:2016-06-17 17:59:31平安夜徽章
日期:2015-12-26 00:06:30综合交流区版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-09-01 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17
发表于 2017-07-07 14:22 |显示全部楼层
回复 3# 王楠w_n

楠姐,论坛的图书目录很久没有更新了。

论坛徽章:
135
2015年亚洲杯之日本
日期:2015-04-28 13:32:012015年亚洲杯之朝鲜
日期:2015-05-06 10:16:442015年亚洲杯之日本
日期:2015-05-06 10:21:342015年亚洲杯纪念徽章
日期:2015-05-13 17:16:442015亚冠之北京国安
日期:2015-05-13 17:18:292015亚冠之鹿岛鹿角
日期:2015-05-13 17:19:062015亚冠之德黑兰石油
日期:2015-05-27 16:47:402015亚冠之塔什干棉农
日期:2015-05-28 15:24:122015亚冠之卡尔希纳萨夫
日期:2015-06-01 13:52:392015亚冠之柏斯波利斯
日期:2015-06-04 17:37:292015亚冠之阿尔纳斯尔
日期:2015-06-16 11:31:202015亚冠之塔什干火车头
日期:2015-06-23 10:12:33
发表于 2017-07-07 14:29 |显示全部楼层
回复 5# shenlanyouyu

我让@yejia80520708  帮忙更新下

http://bbs.chinaunix.net/thread-4074217-1-2.html

论坛徽章:
135
2015年亚洲杯之日本
日期:2015-04-28 13:32:012015年亚洲杯之朝鲜
日期:2015-05-06 10:16:442015年亚洲杯之日本
日期:2015-05-06 10:21:342015年亚洲杯纪念徽章
日期:2015-05-13 17:16:442015亚冠之北京国安
日期:2015-05-13 17:18:292015亚冠之鹿岛鹿角
日期:2015-05-13 17:19:062015亚冠之德黑兰石油
日期:2015-05-27 16:47:402015亚冠之塔什干棉农
日期:2015-05-28 15:24:122015亚冠之卡尔希纳萨夫
日期:2015-06-01 13:52:392015亚冠之柏斯波利斯
日期:2015-06-04 17:37:292015亚冠之阿尔纳斯尔
日期:2015-06-16 11:31:202015亚冠之塔什干火车头
日期:2015-06-23 10:12:33
发表于 2017-07-07 14:50 |显示全部楼层
回复 5# shenlanyouyu

哈喽,最近新书已经更新完了,多谢提醒

论坛徽章:
0
发表于 2017-07-13 14:51 |显示全部楼层
1. 什么是必要的性能信息,如何测量呢?有没有套路?
性能测试与优化是一项复杂、富有挑战性的工作,对于一个专业的测试人员而言,性能优化技术的学习和研究有利于性能测试工作的顺利、深入开展,
通过某种特定的方式对被测试系统按照一定的测试策略进行施压,获取该系统的响应时间、运行效率、资源利用情况等各项性能指标,来评价系统是否满足用户性能需求的过程,
作为研发人员,他们会更关注软件系统架构设计的合理性、数据库的设计是否存在问题、代码是否存在性能方面问题、内存使用方式是否正确、线程同步方式是否合理、是否存在不合理的资源竞争等。
2. 如何着手性能分析,初学者容易趟的坑是是什么
  硬件上的性能瓶颈:
  一般指的是CPU、内存、磁盘I/O 方面的问题,分为服务器硬件瓶颈、网络瓶颈(对局域网可以不考虑)、服务器操作系统瓶颈(参数配置)、中间件瓶颈(参数配置、数据库、web服务器等)、应用瓶颈(SQL 语句、数据库设计、业务逻辑、算法等)。
应用软件上的性能瓶颈:

应用软件上的性能瓶颈:
一般指的是应用服务器、web 服务器等应用软件,还包括数据库系统。
例如:中间件weblogic 平台上配置的JDBC连接池的参数设置不合理,造成的瓶颈。

应用程序上的性能瓶颈:
一般指的是开发人员新开发出来的应用程序。
例如,程序架构规划不合理,程序本身设计有问题(串行处理、请求的处理线程不够),造成系统在大量用户方位时性能低下而造成的瓶颈。

操作系统上的性能瓶颈:
一般指的是windows、UNIX、Linux等操作系统。
例如,在进行性能测试,出现物理内存不足时,虚拟内存设置也不合理,虚拟内存的交换效率就会大大降低,从而导致行为的响应时间大大增加,这时认为操作系统上出现性能瓶颈。

网络设备上的性能瓶颈:

一般指的是防火墙、动态负载均衡器、交换机等设备。
例如,在动态负载均衡器上设置了动态分发负载的机制,当发现某个应用服务器上的硬件资源已经到达极限时,动态负载均衡器将后续的交易请求发送到其他负载较轻的应用服务器上。在测试时发现,动态负载均衡器没有起到相应的作用,这时可以认为网络瓶颈。

  性能测试出现的原因及其定位十分复杂,这里只是简单介绍常见的几种瓶颈类型和特征,而性能测试所需要做的就是根据各种情况因素综合考虑,然后协助开发人员\DBA\运维人员一起定位性能瓶颈。

3. 性能调优的准则是什么?或者有啥常用技巧可以分享
 再说性能调优之前,我们有必要再提一下进行测试的目的,或者我们进行性能测试的初衷是什么?
能力验证:验证某系统在一定条件具有什么样的能力。
能力规划:如何使系统达到我们要求的性能能力。
应用程序诊断:比如内存泄漏,通过功能测试很难发现,但通过性能测试却很容易发现。
性能调优:满足用户需求,进一步进行系统分析找出瓶颈,优化瓶颈,提高系统整体性能。

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:13:29
发表于 2017-07-17 22:07 |显示全部楼层

1. 什么是必要的性能信息,如何测量呢?有没有套路?
资源指标:CPU 使用率、内存利用率、磁盘 I/O、网络带宽
系统指标:并发用户数、平均响应时间、超时错误率
资源指标要通过服务器上监控工具获得,基于 Linux Server 的比如 top、sar、iostat 等;而系统指标则是在测试执行过程中由测试工具收集而来。

2. 如何着手性能分析,初学者容易趟的坑是什么
首先要从系统架构入手分析该云计算系统的结构特点,把该平台的相关组件以及组件间的组合架构和分布式协同工作原理解析清楚,制定有针对性的性能测试流程和方案。
初学者容易趟的坑是“盲目”地下载些所谓的测试程序,去虚拟机上跑个分,然后不分青红皂白就下定论(纯看CPU、内存、磁盘I/O分数高低)。其实不然,实际使用情况会很不一样。性能分析不仅仅看这个产品一瞬间(短期内)的性能表现,而是要看这个产品能否在长时间一直保持好成绩,还是会时好时坏、忽高忽低,不管是几小时还是几分钟或几秒钟的抖动。

3. 性能调优的准则是什么?或者有啥常用技巧可以分享
(1)设定既不能太粗也不能太细,要刚刚好
(2)调优要循序渐进。先解决大问题,然后解决剩余问题中的大问题。在解决了大问题后,通常隐藏在它背后的问题也会暴露出来。也就是说,解决了前面的瓶颈后,下一个瓶颈就显现出来了。
(3)通过重复使用来提速
(4)汇总处理。这个策略适用于花费时间与次数成正比的情况。特别是对于那些多次执行会导致系统开销很大的处理,这一策略是很有效果的。
(5)提高速度与实现并行。天下武功为快不可破,提高速度几乎是一个万能的解决方案,而实现并行则需要视情况而定。
(6)纵向扩展与横向扩展。这两个都是以服务器为单位的提升性能的方式。提升同一台服务器的性能就是“纵向扩展”。添加 CPU、提高时钟频率等都属于纵向扩展。而“横向扩展”则是通过添加其他服务器来提升性能的方式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP