标签:时间 部署 取数据 固态硬盘 nosql数据库 问题 组成 不同 最大
??性能是站点的一个重要指标,除非是没得选择(比方12306)。否则用户无法忍受一个响应缓慢的站点。
一个打开缓慢的站点会导致严重的用户流失,非常多时候站点性能问题是站点架构升级优化的触发器。能够说性能是站点架构设计的一个重要方面。不论什么软件架构设计方案都必须考虑可能会带来的性能问题。
??也正是由于性能问题差点儿无处不在,所以优化站点性能的手段也非常多。从用户浏览器到数据库。影响用户请求的全部环节都能够进行性能优化。
??在浏览器端,能够通过浏览器缓存、使用页面压缩、合理分布页面、降低Cookie传输等改善性能。
??还能够使用CDN,将站点静态内容分发至离用户近期的网络服务商机房,使用户通过最短訪问路径获取数据。
能够在站点机房部署反向代理server。缓存热点文件。加快请求响应速度。减轻应用server负载压力。
(Nigix)
??在应用server端,能够使用server本地缓存和分布式缓存,通过缓存在内存中的热点数据处理用户请求,加快请求处理过程。减轻数据库负载压力。
(Redis, Memecache, JBoss Cache, Ehcache)
??也能够通过异步操作将用户请求发送至消息队列等待兴许任务处理,而当前请求直接返回给用户。
(RabbitMq, Kafka)
??在站点有非常多用户高并发请求的情况下,能够将多台应用server组成一个集群共同对外服务,提高总体处理能力。改善性能。
??在代码层面,也能够通过使用多线程、改善内存管理等手段优化性能。
??在数据库server端。索引、缓存、SQL优化等性能优化手段都已经比較成熟。而方兴未艾的NoSQL数据库通过优化数据模型、存储结构、伸缩特性等手段在性能方面的优势也日趋明显。(MongoDB, HBase)
??衡量站点性能有一系列指标,重要的有响应时间、TPS、系统性能计数器等,通过測试这些指标以确定系统设计是否达到目标。这些指标也是站点监控的重要參数,通过监控这些指标能够分析系统瓶颈,预測站点容量。并对异常指标进行报警。保障系统可用性。
??对于站点而言,性能符合预期不过必要条件,由于无法预知站点可能会面临的訪问压力,所以必需要考察系统在高并发訪问情况下,超出负债设计能力的情况下可能会出现的性能问题。站点需要长时间持续执行,还必须保证系统在持久执行且訪问压力不均匀的情况下保持稳定的性能特性。
??性能測试是一个不断对系统添加訪问压力,以获得系统性能指标、最大负载能力、最大压力承受能力的过程。
??性能測试方法:
??依据站点分层架构,性能优化可分为:web前端性能优化、应用server性能优化、存储server性能优化。
代码优化
- 多线程(Q:怎么确保线程安全?无锁机制有哪些?)
- 资源复用(单例模式,连接池,线程池)
- 数据结构
- 垃圾回收多线程三大定律
1. Amdahl 定律
–Gene Amdahl 发如今计算机体系架构设计过程中。某个部件的优化对整个架构的优化和改善是有上限的。这个发现后来成为知名的Amdahl 定律。
比方:即使你有10个老婆。也不能一个月把孩子生下来。
2. Gustafson 定律
–Gustafson如果随着处理器个数的添加,并行与串行的计算总量也是能够添加的。Gustafson定律觉得加速系数差点儿跟处理器个数成正比,如果现实情况符合Gustafson定律的如果前提的话,那么软件的性能将能够随着处理个数的添加而添加。
比方:当你有10个老婆。就会要生很多其它的孩子。
3. Sun-Ni 定律
–充分利用存储空间等计算资源,尽量增大问题规模以产生更好/更精确的解。
比方:你要设法让每一个老婆都在干活,别让她们闲着。
标签:时间 部署 取数据 固态硬盘 nosql数据库 问题 组成 不同 最大
原文地址:http://www.cnblogs.com/lytwajue/p/7286927.html