高性能服务总结

来源:互联网 发布:获取百度指数的源数据 编辑:程序博客网 时间:2024/06/05 09:47

之前写了高性能服务的总结,现在想完善一下,主要从以下四个方面讨论高性能的注意点:

1.cpu

  • 服务使用tomcat作为web应用服务器,用nio方式代替bio方式,减少在高并发下上下文的切换;
  • 减少同一台其他服务的干扰,尤其是cpu密集型的程序,例如爬虫、redis之类的;
  • 空间换时间,能缓存的尽量缓存,减少cpu计算时间;数据量较大的结果可以做多级缓存;
  • 尽量减少不必要对象的生成,减少gc时间;可以通过优化程序,使用线程池等方式;
  • 在线的计算能离线的尽量离线提前计算好;
2.io
  • 尽可能的少记录log,只记录关键log;
  • 顺序读写替换随机读写;
  • 异步化操作;
3.memory
  • 保持机器内存充裕,尽量保持无swap;
  • 给服务分配足够的内存,jvm参数调优;
  • 进程内缓存的同时不要占用old区太多的空间,离major gc阀值保持距离(如果超过就等着频繁major gc吧),减少major gc的次数;
  • 避免内存泄露(很幸运,编码的时候还没遇到过);
4.network
  • 禁用nagle;
  • 窗口拥塞的情况下限流;
  • 适当增大初始化时拥塞窗口大小(没试验过,aliapp有此介绍);

总结的一般,算是笔记吧,与大家共勉;

0 0
原创粉丝点击