最佳实践
文章平均质量分 81
chinese_darren_
这个作者很懒,什么都没留下…
展开
-
大型互联网应用的设计理念
On Designing and Deploying Internet-Scale Services Three simple tenets 1. Expect failures 2. Keep things simple 3. Automate everything 1. Overall Application Design 1. Design for failure 2. Redundancy...原创 2011-10-22 10:55:03 · 129 阅读 · 0 评论 -
基于组件的开发思路
1. 4个基本特性:组件,组件之间的协同,组件插座,组件的使用者。2. 高度的以体系结构为中心。3. 业务组件5要素:组件粒度层次、体系结构视点、分布层、功能类(或层)和开发生命周期视点。4. 五种粒度层次:语言类、分布式组件、业务组件、系统级组件、系统级组件联盟。5. 四种体系结构:技术体系结构、应用体系结构、项目管理体系结构和功能体系结构。6. 四种分布式层:用户层、...原创 2013-04-11 10:25:46 · 653 阅读 · 0 评论 -
性能监控/优化系列——CPU相关
CPU相关1. 从下向上定位 1.1 CUP监控(指令执行速度-单位时间内执行的指令条数, CUP缓存的miss率) 1.2 OS的监控 1.3 JVM的监控 工具:Intel VTune or AMD’s CodeAnalyst Performance Analyzer(window/linux) 选择正确的CPU架构...2012-12-22 22:07:33 · 199 阅读 · 0 评论 -
性能监控/优化系列——内存/线程/锁相关
1. 内存的分页(paging)、交换(swapping)、锁和线程的上下文切换(分为voluntary and involuntary context switching)需要监控。两种上下文的区别:voluntary ——voluntarily takes itself off the CPU;involuntary ——占用时间期满或优先级更高的线程取代。2. 如果一个java程序...2012-12-22 22:21:51 · 188 阅读 · 0 评论 -
性能监控/优化系列——IO
Network I/O相关1. 在分布式系统中会比较容易发现network bandwidth or network I/O方面的性能。2. 如果系统的网络接口发送的数据大于网络硬件所能处理的值,那么数据就会被缓存到OS的buffer中,造成系统的延时。3. netstat命令有局限性,不能统计到网络目前的吞吐量、利用率、饱和度等,nicstat这个小工具更好用,包含读写率(字节...2012-12-22 22:25:56 · 164 阅读 · 0 评论 -
性能监控/优化系列——HotSpot JVM相关
1. HotSpot JVM在进化的过程中所做的优化:JIT compilers,sophisticated garbage collectors,JVM runtime environment。2. HotSpot VM:三个主要组件:VM Runtime, JIT compiler, Memory manager(Garbage Collector)。后两种都为前者的插件,runti...2012-12-22 22:50:12 · 176 阅读 · 0 评论 -
性能监控/优化系列——JVM监控/调优
JVM监控1. ParNew表示CMS收集器在新生代采用多线程进行垃圾回收。DefNew表示顺序垃圾收集器在新生代采用单线程进行垃圾回收。2.系统做完CMS cycle后,观察minorGC的日志,如果日志中发现CMS收集前后的heap占用下降不明显,那要么是已有的对象太少,以至于找到的unreachable对象很少,这样浪费费CPU;要么是对象从新生代提拔到老生代的速率超过了CMS...2012-12-22 22:59:26 · 230 阅读 · 0 评论 -
性能监控/优化系列——Java应用Profiling
1. 常见的内存泄露有adding entries to a Java Collection and never removing them are a common source of memory leaks。2. 对于IO应用的调优, 为了减低CPU utilization, 一个常用的方法是buffer 输入和输出数据,减少交互次数。3. 任何一次网络IO的调用最终会导致一个...原创 2012-12-23 14:54:18 · 136 阅读 · 0 评论 -
性能监控/优化系列——WEB容器/应用性能调优
下面的配置项可能因不同的容器有不一样,但是基本原理是差不多的1. Thread Pool,调优WEB容器线程池比较好的实践是首先根据基本原则设置初始化配置(下图),然后在压力环境下观察并做适当修改。2. 对于那些重IO(examples: invocation of remote EJBs, database interactions, communicating with...原创 2012-12-23 14:55:04 · 270 阅读 · 0 评论