高性能与调优

性能度量算法

  • 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忙于线程切换,下降应用处理能力

  • 减小锁竞争:不然线程过多,线程之间切换频繁

相关文章
相关标签/搜索