您的位置:首页 > 运维架构 > 网站架构

大型网站技术架构读书笔记-高性能架构

2015-01-31 18:30 232 查看
瞬时响应:网站的高性能架构
网站性能测试

性能测试指标:响应时间,并发数(系统同时处理请求的数目,也反映了系统的负载特性),吞吐量(单位时间内系统处理的请求数量,体现体统的整体处理能力),性能计数器(描述服务器或操作系统性能的一些数据指标,如CPU使用,内存使用等)。

性能测试是一个不断对系统增加访问压力,以获得系统性能指标、最大负载能力、最大压力承受能力的过程。性能测试方法可具体分为:

性能测试:对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。

负载测试:对系统不断地增加并发请求以增加系统压力,知道系统的某项或多项性能指标达到安全临界值。

压力测试:超过安全负载的情况下,对系统继续施加压力,知道系统崩溃以获得系统最大压力承受能力。

稳定性测试:给系统加载一定业务压力,是系统运行一段较长时间,以此检测系统是否稳定。





性能优化

性能优化根据网站分层架构可分为Web前端性能优化、应用服务器性能优化、存储服务器优化。

Web前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等。

1、 浏览器访问优化:减少http请求(合并CSS、合并JavaScript、合并图片),使用浏览器缓存,启用压缩(但是对服务器和浏览器会产生一定压力),CSS放在页面 最上面(浏览器会在下载完全部CSS之后才对整个页面进行渲染),减少Cookie传输。

2、 CDN(Content Distribute Network)加速,一般CDN缓存的是访问频度很高的静态资源。

3、 反向代理。传统代理服务器位于浏览器端一侧,而反向代理服务器位于网站机房一侧,代理网站Web服务器接收HTTP请求。代理服务器可以配置缓存功能加速Web请求,更起到安全屏障的功能。

应用服务器就是处理网站业务的服务器,优化手段主要有缓存、集群、异步等。

1、 分布式缓存。分布式缓存指缓存部署在多个服务器组成的集群中,其架构一种是以JBoss Cache为代表的需要更新同步的分布式缓存,一种是以Memcached 为代表的不互相通信的分布式缓存(互不通信使得集群可以做到几乎无限制的线性伸缩)。

2、 异步操作。使用消息队列将调用异步化,由于消息队列服务器处理速度远快于数据库,因此用户的响应延迟可得到有效改善。

3、 使用集群:使用负载均衡技术为一个应用构建一个由多台服务器组成的服务器集群。

4、 代码优化:多线程,资源复用——单例(Singleton)和对象池(Object Pool),数据结构,垃圾回收。

存储性能虽可以通过Cache解决一部分数据读写压力,但那时很多时候磁盘仍然是系统最严重的瓶颈,而且磁盘中存储的数据是网站最重要的资产,可用性和容错性也至关重要。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: