博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

成长轨迹

oragri.cublog.cn


Performance 和Scalability小结
Performance Scalability小结

1、定义

Performance:性能 完成某种操作所需时间,通过Response Time来衡量,如web server。另外,在给定时间内,它还与throughput(吞吐量)有关,如ftp server。注意与Latency(时延)的区别,时延是最小的response time,执行任意操作所需要的最小时间。

Scalability:可伸缩性 即规模可调整。 应用程序应对负载改变的能力,比如,一个系统在服务器于100users10000users时的性能差别,如果这种差别在可以接收范围内,就说明这种系统可伸缩性强。或者系统的性能随硬件条件的增加而同步增加,基本成比例增长。如一个服务器的响应时间是100ms,四个是25ms,当然这是理想情况。它有horizontal vertical之分,如cluster


Performance
Scalability有时是矛盾的,如在一个单独的服务器上high performance的系统可能并不能按比例扩展到cluster的系统上,因为有session replication的问题。另外,high performance的系统未必就会high scalability,如EJB可能在分布式情况下有很高的伸缩性,但未必性能很高,当然增加硬件部署成cluster可能会取得high performance
Performance
一般用Load testing来衡量,scalabilityStress testing来衡量。

 

2PerformanceScalability相关因素

从架构的角度考虑performancescalability,主要有下面几个因素:

一、Distribution (分布式)

二、Cluster (集群)

三、访问持久化数据方式

Distribution主要指Object Distribution,应用程序主要是基于分布式组件。它考虑到了scalability,但以牺牲performance为代价的。如EJBRMI调用代价很昂贵,虽然有些模式可以一定程度上optimize这些问题,如DTOsession façade。从长远考虑,异步分布式,如message queues是一个更好的解决方案

Cluster主要是指Deployment Clustering。有很多种cluster的方式,如farm,应用程序运行在多个server上,但它们彼此之间并不需要通讯,除了它们都需要访问某些资源,如database,这意味着state replication并不需要,著名的ebay.com就是这样的。Cluster主要要考虑两个问题:RoutingReplication。同时cluster需要考虑到应用程序各层的情况,如web tiersession 状态复制), Business layer, ORM layercluster缓存),以及databasecluster

 

转载:http://publishblog.blogdriver.com/blog/tb.b?diaryID=975812

发表于: 2007-09-09 ,修改于: 2007-09-09 18:54,已浏览562次,有评论0条 推荐 投诉


网友评论

发表评论