性能度量算法
TPS和RTsql
好的性能从设计开始缓存
设计思路网络
分而治之:分层,分区,分模块,能够针对性作优化并发
应用无状态:水平扩展异步
有效使用缓存:关注缓存读写比,命中率nosql
异步通讯高并发
nosql:非结构化,非关系型数据,热点数据工具
多核并发设计:使用线程池,copyonwrite,concurrenthashmap,volatile,reentrantlock,readwritelock,condition,threadlocal性能
考虑使用性能更好的加密算法
考虑使用更好的序列化工具:protobuf,thrift
tpc选择:http调用每次都须要创建连接,消息头比较大,性能比不上thrift
合并请求:循环调用某服务,考虑批量调用接口,能够合并请求
对象池化:避免每次都new一个
合理分配集合大小,避免频繁扩容及浪费
限制IO读写大小,避免oom
单例模式,减小GC
内存泄漏:压测程序,经过jmap,btrace分析GC
NIO因为非阻塞,能够极大提升吞吐量,Netty
压缩:减小网络传输数据大小
异步化:提升并发能力,将耗时操做异步化,不影响主流程
线程数:控制合理线程数,线程过多致使系统CPU忙于线程切换,下降应用处理能力
减小锁竞争:不然线程过多,线程之间切换频繁