可伸缩性/可扩展性(Scalable/scalability)
可伸缩性(可扩展性)是一种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。
可伸缩性和纯粹性能调优有本质区别, 可伸缩性是高性能、低成本和可维护性等诸多因素的综合考量和平衡,可伸缩性讲究平滑线性的性能提升,更侧重于系统的水平伸缩,通过廉价的服务器实现分布式计算;而普通性能优化只是单台机器的性能指标优化。他们共同点都是根据应用系统特点在吞吐量和延迟之间进行一个侧重选择,当然水平伸缩分区后会带来CAP定理约束。
软件的可扩展性设计非常重要,但又比较难以掌握,业界试图通过云计算或高并发语言等方式节省开发者精力,但是,无论采取什么技术,如果应用系统内部是铁板一块,例如严重依赖数据库,系统达到一定访问规模,负载都集中到一两台数据库服务器上,这时进行分区扩展伸缩就比较困难,正如Hibernate框架创建人Gavin King所说:关系数据库是最不可扩展的。
性能和扩展性
什么是性能问题?
如果你的系统对于一个用户访问还很慢,那就是性能问题;
什么是扩展性问题?
如果你的系统对一个用户来说是快的,但是在用户不断增长的高访问量下就慢了。
延迟和吞吐量
延迟和吞吐量是衡量可扩展性的一对指标,我们希望获得低延迟和高吞吐量的系统架构。所谓低延迟,也就是用户能感受到的系统响应时间,比如一个网页在几秒内打开,越短表示延迟越低,而吞吐量表示同时有多少用户能够享受到这种低延迟,如果并发用户量很大时,用户感觉网页的打开速度很慢,这意味着系统架构的吞吐量有待提高。扩展性的目标是用可接受的延迟获得最大的吞吐量。
可靠性(可用性)目标:用可接受的延迟获得数据更新的一致性。
性能专题
是什么阻止了Ruby和Python获得Javascript V8那样的速度?
JVM内存模型和性能优化
JVM有关垃圾回收机制的配置
性能优化的首要法则
Tomcat实战中的微调
性能测试
性能调优
高性能
缓存专题
Web缓存教程
对象池
伸缩性文章
相关推荐
The Art of Scalability is by far the best book on scalability on the market today.
server performance and scalability. In this paper we focus on improving the Linux implementation of poll() to reduce the expense of managing large numbers of network connections. We also explore the ...
可伸缩的网络编程(Scalable Network Programming)中文版 有兴趣的会有用
This paper proposes a unified efficient and universal scalable video coding framework that supports different scalabilities, such as fine granularity quality, temporal, spatial and complexity ...
从头开始训练神经网络的可伸缩隐藏触发器后门_Sleeper Agent Scalable Hidden Trigger Backdoors for Neural Networks Trained from Scratch.pdf
所谓的可伸缩视频编码(scalable video coding:SVC)技术要求视频编解码器在比特流级别具有以下可伸缩特性:通过简单的丢包或截断码流等操作提取出的子码流具有较低的空间-时间分辨率和/或较低的码率(对应于较低的...
This book was written with one goal in mind: to provide Java programmers with the expertise needed to build efficient, scalable Java code. The author shares his experience in server-side performance ...
Scalable Storage Solution
Scalable IO in Java是java.util.concurrent包的作者,大师Doug Lea关于分析与构建可伸缩的高性能IO服务的一篇经典文章,在文章中Doug Lea通过各个角度,循序渐进的梳理了服务开发中的相关问题,以及在解决问题的...
SCR将检查点数据缓存在Linux群集的计算节点上的存储中,以为MPI代码提供快速,可扩展的检查点/重新启动功能。
Scalable IO in Java,讲解Java nio的经典
Scalable in in java .Doug Lee的著作,学习线程模型必备。
Making application scalable with load balancing
Learn the tricks of the trade so you can build and architect applications that scale quickly--without all the ... you'll find Building Scalable Web Sites to be a library of ideas for making things work.
Scalable Big Data Architecture covers real-world, concrete industry use cases that leverage complex distributed applications , which involve web applications, RESTful API, and high throughput of large...
Scalable Big Data Architecture covers real-world, concrete industry use cases that leverage complex distributed applications , which involve web applications, RESTful API, and high throughput of large...
A scrollable, zoomable, and scalable picture box
Scalable SQL and NoSQL data stores 介绍 可分布的SQL和noSQL技术
Dart Scalable Application Development 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除