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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/details/40786455, 版权所有 这里说的架构,指的是在大型网站中常用的分布式架构模式 如果横向来分割我们的系统,一般我们把它分为应用层,服务层,数据层 如果纵向来分割我们的系统,一般我们是按照模块来划分 在提供服务的时候,我们会分布式的架构我们的系统,因为

本文允许转载,但请标明出处: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, 版权所有

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
1月前
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
45 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
6月前
|
Linux 调度
单片机面向对象思维的架构:时间轮片法
单片机面向对象思维的架构:时间轮片法
84 0
|
27天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
1月前
|
存储 消息中间件 运维
架构升级的救星!流量回放自动化测试的必备指南
大家好,我是小米,一名29岁的技术宅。今天分享一个物联网领域的实用技能——流量回放自动化测试。系统重构后,测试工作量巨大,本文介绍如何通过日志收集和数据回放进行自动化测试,包括离线、实时和并行回放模式,帮助快速定位Bug,提升测试效率和系统稳定性。欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
46 3
|
3月前
|
设计模式 算法 PHP
深入理解PHP中的数组操作探索编程之美:从代码到架构的思维转变
【8月更文挑战第24天】在PHP编程中,数组是基础且强大的数据结构。本文将通过浅显易懂的方式,介绍如何在PHP中高效地操作数组,包括创建、遍历、排序和过滤等常见任务。无论你是初学者还是有经验的开发者,这篇文章都会带给你新的启示。 【8月更文挑战第24天】在编程的世界中,代码不仅仅是冰冷的字符排列,它承载着思想、解决问题的智慧和创新的灵魂。本文将通过个人的技术感悟,带领读者从编写单一功能的代码片段出发,逐步深入到整个软件架构的设计哲学,探索如何将代码块转化为高效、可维护和可扩展的系统。我们将一起见证,当代码与架构思维相结合时,如何引发技术实践的革命性飞跃。
|
3月前
|
缓存 Java Maven
SpringCloud基于Eureka的服务治理架构搭建与测试:从服务提供者到消费者的完整流程
Spring Cloud微服务框架中的Eureka是一个用于服务发现和注册的基础组件,它基于RESTful风格,为微服务架构提供了关键的服务注册与发现功能。以下是对Eureka的详细解析和搭建举例。
|
4月前
|
测试技术 调度 微服务
微服务架构下的两类测试
【7月更文挑战第16天】微服务架构下的两类测试:流量录制回放测试和仿真环境测试
|
5月前
|
存储 测试技术 数据库
在django中的测试架构
【6月更文挑战第13天】该文主要讨论Django项目的测试数据查询和测试架构。文中展示了如何创建`TestCase`子类进行测试,并提供了执行测试的不同选项,如增加详细信息、并行运行和选择性运行特定测试。
48 2
在django中的测试架构
|
3月前
|
运维 Kubernetes 索引
揭秘ChaosBlade的Helm安装双架构:一步到位,让系统故障测试变得前所未有的简单和高效!
【8月更文挑战第7天】在多变的IT环境中,确保应用的稳定与可用至关重要。混沌工程通过故意引入故障来增强系统韧性。ChaosBlade是一款开源混沌实验工具,支持多样化的故障注入。结合Kubernetes的包管理器Helm,可简化ChaosBlade在集群中的部署。本文介绍如何使用Helm安装ChaosBlade双架构版本,包括添加仓库、选择版本、安装配置及验证等步骤,助力高效实施混沌工程,提升系统稳定性和可靠性。
57 0
|
4月前
|
监控 供应链 jenkins
「架构」单元测试及运用
TechCorp在软件项目中重视单元测试,结合静态代码分析(如SonarQube)与动态的白盒测试(使用JUnit和JaCoCo)。通过设定代码覆盖率标准和自动化回归测试(集成到CI/CD),团队确保了代码质量、减少了缺陷,加快了开发速度,打造出稳定、高性能的电商平台。单元测试成为提升软件质量和开发效率的关键实践。
40 0
下一篇
无影云桌面