网站首页 > 资源文章 正文
一、性能
性能指标
1. 响应时间
指某一个请求从发出到接收到响应消耗的时间。
在对响应时间进行测试时,通常采用重复请求方式,然后计算平均响应时间。
2. 吞吐量/吞吐率
指系统在单位时间内可以处理的请求数量,通常使用每秒的请求数来衡量。
3. 并发用户数
指系统能同时处理的并发用户请求数量。
在没有并发存在的系统中,请求被顺序执行,此时响应时间为吞吐量的倒数。例如系统支持的吞吐量为 100 req/s,那么平均响应时间应该为 0.01s。
目前的大型系统都支持多线程来处理并发请求,多线程能够提高吞吐量以及缩短响应时间,主要有两个原因:
- 多 CPU
- IO 等待时间
使用 IO 多路复用等方式,系统在等待一个 IO 操作完成的这段时间内不需要被阻塞,可以去处理其它请求。通过将这个等待时间利用起来,使得 CPU 利用率大大提高。
并发用户数不是越高越好,因为如果并发用户数太高,系统来不及处理这么多的请求,会使得过多的请求需要等待,那么响应时间就会大大提高。
性能优化
1. 集群
将多台服务器组成集群,使用负载均衡将请求转发到集群中,避免单一服务器的负载压力过大导致性能降低。
2. 缓存
缓存能够提高性能的原因如下:
- 缓存数据通常位于内存等介质中,这种介质对于读操作特别快;
- 缓存数据可以位于靠近用户的地理位置上;
- 可以将计算结果进行缓存,从而避免重复计算。
3. 异步
某些流程可以将操作转换为消息,将消息发送到消息队列之后立即返回,之后这个操作会被异步处理。
二、伸缩性
指不断向集群中添加服务器来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。
伸缩性与性能
如果系统存在性能问题,那么单个用户的请求总是很慢的;
如果系统存在伸缩性问题,那么单个用户的请求可能会很快,但是在并发数很高的情况下系统会很慢。
实现伸缩性
应用服务器只要不具有状态,那么就可以很容易地通过负载均衡器向集群中添加新的服务器。
关系型数据库的伸缩性通过 Sharding 来实现,将数据按一定的规则分布到不同的节点上,从而解决单台存储服务器的存储空间限制。
对于非关系型数据库,它们天生就是为海量数据而诞生,对伸缩性的支持特别好。
三、扩展性
指的是添加新功能时对现有系统的其它应用无影响,这就要求不同应用具备低耦合的特点。
实现可扩展主要有两种方式:
- 使用消息队列进行解耦,应用之间通过消息传递进行通信;
- 使用分布式服务将业务和可复用的服务分离开来,业务使用分布式服务框架调用可复用的服务。新增的产品可以通过调用可复用的服务来实现业务逻辑,对其它产品没有影响。
四、可用性
冗余
保证高可用的主要手段是使用冗余,当某个服务器故障时就请求其它服务器。
大白话:多搞几台服务器(或者数据库服务器),一个宕掉,另一个继续工作!多个之间数据会重复,因此冗余,但是它保证系统的健壮性(高可用)。即可以理解为空间换时间
应用服务器的冗余比较容易实现,只要保证应用服务器不具有状态,那么某个应用服务器故障时,负载均衡器将该应用服务器原先的用户请求转发到另一个应用服务器上,不会对用户有任何影响。
存储服务器的冗余需要使用主从复制来实现,当主服务器故障时,需要提升从服务器为主服务器,这个过程称为切换。
监控
对 CPU、内存、磁盘、网络等系统负载信息进行监控,当某个数据达到一定阈值时通知运维人员,从而在系统发生故障之前及时发现问题。
服务降级
服务降级是系统为了应对大量的请求,主动关闭部分功能,从而保证核心功能可用。
五、安全性
要求系统在应对各种攻击手段时能够有可靠的应对措施。
猜你喜欢
- 2024-11-04 企业如何通过熔断降级增强服务稳定性和系统可用性?
- 2024-11-04 对高可用系统的一点理解(高可用系统设计)
- 2024-11-04 分布式系统设计原则:如何实现高可用性和高性能
- 2024-11-04 保障网络版防火墙系统可用性的三个关键要素
- 2024-11-04 分布式系统中的CAP理论,面试必问,你理解了嘛?
- 2024-11-04 2022年信息系统项目管理师考点网络存储技术,软考高项学霸笔记
- 2024-11-04 如何编写自主式可用性测试脚本?(自动化测试脚本编写规范强调)
- 2024-11-04 分布式系统面试题之:消息队列的高可用性如何保证?
- 2024-11-04 如何做车载HMI可用性测试,看完你不会可以揍我
- 2024-11-04 Win10/WP10须向其它系统学习的4个特性
你 发表评论:
欢迎- 最近发表
-
- Linux系统Shell脚本编程之whiptail图形化工具编写系统管理程序
- Linux常用命令讲解及Shell脚本开发实战入门二
- Linux命令手册:从青铜到王者,这30个命令让你成为终端高手
- Shell脚本编程入门:轻松掌握自动化利器
- 阿里巴巴《Linux命令行与shell脚本编程大全》高清版 PDF 开放下载
- Lazygit:让Git操作变得直观高效的终端魔法
- 2GB内存电脑跑Win10太卡 程序员求助 网友怀念起XP系统
- 觉得Linux很难?不妨试试2025年这些Linux桌面版!
- Linux运维工程师必知的服务器备份工具:Rsnapshot
- 推荐给系统管理员的10款Linux GUI工具
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)