用架构思维从不同角度讲述性能测试的要点

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/details/40786455, 版权所有

这里说的架构,指的是在大型网站中常用的分布式架构模式

如果横向来分割我们的系统,一般我们把它分为应用层,服务层,数据层

如果纵向来分割我们的系统,一般我们是按照模块来划分

在提供服务的时候,我们会分布式的架构我们的系统,因为分布式可以给我们带来如下的好处:

CPU数量增多,处理速度加快、

内存在变大,数据交换速度加快、

存储资源,存储能力在变大,可以存储更多的信息、

能处理的并发访问和数据量也变大

在分布式带来优点的同时,也带来了一些缺点:

1.分布式服务必须通过网络,会对性能造成影响。

2.服务器越多,宕机的概率越大,也就造成了应用不可访问,可用性降低。

3.分布式数据环境的数据一致性。

4.分布式事务难以保证

说到了分布式,离不开的一个词就是集群,集群就是更多的服务器通过负载均衡提供相同的服务

简单的了解了架构,我们来说性能,到底要怎么理解这个性能?这个时候我们要从不同的角度去理解这个词

用户视觉的网站性能:

用户感官的网站响应速度,其包含了用户计算机和网站服务器的通信时间、网站服务器的处理时间、用户计算机浏览器构造请求解析响应数据的时间

开发人员视觉的性能:

应用程序本身和其先关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性

运维人员视角的网站性能:

基础设施性能和资源利用率,包括运营商的带宽、服务器硬件配置、数据中心网络架构

性能测试的方法: 性能测试、负载测试、压力测试、稳定性测试

在浏览器端:浏览器缓存、页面压缩(计算机的能力)、合理布局页面、减少cookie传输、使用CDN在网络供应商处缓存

在应用服务器端:服务器本地缓存、分布式缓存、异步消息队列、集群(应用服务器集群、缓存服务器集群、数据服务器缓存)

在数据库服务器端:索引、缓存、SQL优化、NOSQL

在代码层面:多线程、改善内存管理

性能测试的指标: 响应时间、并发数、吞吐量、性能计数器

如何排查性能瓶颈:

1.对 从用户发出请求到数据库完成事务操作 的各个环节进行分析,定位问题。

2.依赖检查日志进行排查

3.检查监控数据,从内存、磁盘、网络、cpu、代码、架构、系统资源不足多方面排查。

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/details/40786455, 版权所有

时间: 2024-07-29 01:48:40

用架构思维从不同角度讲述性能测试的要点的相关文章

优秀架构师必须掌握的架构思维

一.抽象思维 如果要问软件研发/系统架构中最重要的能力是什么,我会毫不犹豫回答是抽象能力.抽象(abstraction)这个词大家经常听到,但是真正理解和能讲清楚什么是抽象的人少之又少.抽象其实是这样定义的: 对某种事物进行简化表示或描述的过程,抽象让我们关注要素,隐藏额外细节. 举一个例子,见下图:你看到什么?你看到的是一扇门,对不对?你看到的不是木头,也不是碳原子,这个门就是抽象,而木头或者碳原子是细节.另外你可以看到门上有个门把手,你看到的不是铁,也不是铁原子,门把手就是抽象,铁和铁原子是

直击架构本质:优秀架构师必须掌握的几种架构思维

介绍 架构的本质是管理复杂性,抽象.分层.分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器. 最近团队来了一些新人,有些有一定工作经验,是以高级工程师/架构师身份进来的,但我发现他们大部分人思维偏应用和细节,抽象能力弱.所以作为团队技术培训的一部分,我整理了这篇文章,希望对他们树立正确的架构设计思维有帮助.我认为,对思维习惯和思考能力的培养,其重要性远远大于对实际技术工具的掌握. 由于文章内容较长,所以我把它分成两篇小文章,在第一篇<优秀架构师必须掌握的架构思维>中,我会先介

优秀架构师需要培养的四种架构思维

一个优秀架构师必须要培养四种架构思维:抽象.分层.分治.演化. 架构的本质是管理复杂性,抽象.分层.分治和演化思维是架构师征服复杂性的四种根本性武器. 掌握了抽象.分层.分治和演化这四种基本的武器,你可以设计小到一个类,一个模块,一个子系统,或者一个中型的系统,也可以大到一个公司的基础平台架构,微服务架构,技术体系架构,甚至是组织架构,业务架构等等. 架构设计不是静态的,而是动态演化的.只有能够不断应对环境变化的系统,才是有生命力的系统.所以即使你掌握了抽象.分层和分治这三种基本思维,仍然需要演

架构思维—软件架构—系统架构—系统—大局观、系统观(结构与秩序)、还原论(分与合)

架构思维—软件架构—系统架构—系统—大局观.系统观(结构与秩序).还原论(分与合) 最高层次的规划,难以改变的决定 分解仅仅是加速开发和降低问题复杂度,如果分解后的内容无法集成在一起,那么分解就没有任何意义.分解+集成可以理解为架构最核心的思考方式和方法. https://zhuanlan.zhihu.com/p/30679273 架构的本质 一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来

DevOps架构下如何进行微服务性能测试

一. 微服务架构下的性能测试挑战 微服务与DevOps 微服务是实现DevOps的重要架构 微服务3S原则 DevOps核心点 微服务架构下的业务特点 亿级用户的平台 单服务业务随时扩容 服务之间存在相互调用关系 版本更新快,上线周期短 微服务架构下的性能测试挑战 单服务流量激增时扩容调用链条变长,调用关系更加复杂微服务拆分导致故障点增多▼ ▼ ▼单服务变更性能影响如何评估?性能瓶颈在各微服务间漂移,如何做好性能测试?应对突发流量需求,扩容能否解决问题,如何扩容?服务实例数量众多,如何收集信息,

微服务架构相比于传统的单体架构,从系统结构角度,其显著特征是什么?

(1)一系列的独立的服务共同组成系统(2)每个服务单独部署,跑在自己的进程里(3)每个服务为独立的业务开发(4)采用分布式的方式进行管理东软 SaCa ACAP基于微服务架构和相关技术,提供一种包括开发方法论.技术支撑和最佳实践在内的产品研发全新模式,可以去官网了解 原文地址:http://blog.51cto.com/14179302/2350645

IT架构——思维导图

参考: [日] 野村综合研究所系统咨询事业本部. 图解CIO工作指南. 周自恒译 人民邮电出版社,2014

性能测试设计要点

1.性能测试点的提取 测试点需要放在用户常用的或者重点模块上面,一般可以从以下入手: 登录 数据量多的 关键接口 使用的人比较多的,比如上班打卡 2.性能测试的原则 从功能用例衍生而来 只考虑正常流程而不考虑异常流程 考虑相关的约束

回归架构本真:从规划、思维到设计,构建坚不可摧的架构根基

一.什么是架构 关于什么是架构,业界从来没有一个统一的定义.Martin Fowler在<企业应用架构模式>中也没有对其给出定义,只是提到能够统一的内容有两点: 最高层次的系统分解: 系统中不易改变的决定. <软件架构设计>一书则将架构定义总结为组成派和决策派: 组成派:架构=组件+交互:软件系统的架构将系统描述为计算组件及组件之间的交互. 决策派:架构=重要决策集:软件架构是在一些重要方面所作出的决策的集合. 而架构的概念最初来源于建筑,因此,我想从建筑的角度去思考这个问题.Wi