为以示与应用层优化的区别,本文对架构的描述更侧重偏向于物理层面,再次赘述下,涉及变更架构的,需要我们的应用具有良好的拓展性,考验我们的架构师平时的功底,如何刚刚好满足需求以及两三年内业务增量,但并非架构做的越强大,越灵活,越可配置,越易水平拓展就是越好的,其一考虑此应用的投入产出比,换言之,是否值得投入这么多架构设计成本,其二架构设计也是具有一定的时效性的,IT速度太快了,今天的好东西未必是明天的好东西,年轻貌美的姑娘,总有变成老太婆那一天嘛,再者、越灵活的架构,就意味着存在更多的配置项,从某一方面,反而增加了系统的复杂度,最后、很多大型,成熟的应用,也并非一蹴而就,而是通过不断的调整优化,不断变更架构的。圣人也并非天生的,而是不断的总结,提炼,优化,重构
Ø硬件方面使用高性能的小型机、存储设备。使用极好的网络带宽
Ø物理分离Web Server和DB Server或者其他服务如:用户认证服务
Ø缓存
ü数据缓存机制
ü页面缓存机制
Ø物理分离业务模块,单业务单独部署一台服务器
Ø部署多台Web Server
ØWeb负载均衡-F5
Ø数据读写分离
Ø使用消息队列进行各种应用间进行同步/异步计算
Ø应用间选择合适的通信方式,通信协议
ØWeb分布式,应用分布式,数据分布式
Ø分布式的节点使用高性能服务器,小型机群,辅以高速网络带宽等
工具包
Ø进程管理器,CPU,内存,I/O
Ø日志:IIS日志,Windows日志,系统本身日志
Ø使用dotTrace,跟踪方法执行时间,找出速度慢的方法,针对性优化
ØSql Profile跟踪SQL耗时情况,针对性优化
ØHttpWatch跟踪请求耗时,以及发送和收到数据量