需要先搞清楚卡顿的原因是什么,目前主流的监控数据收集工具是prometheus。容器平台部署完成后,使用监控系统查看平台组件及底层硬件的各项监控指标综合分析。主要可以看节点的资源量是否充裕,可以从CPU使用率、内存使用率、I/O性能例如IO延迟等多个方面进行考虑。如果容器平台是部署在IaaS上的虚拟机里的话,IaaS平台不建议超售。
收起针对容器云部署后出现卡顿:
1、可以使用linux性能检测工具top,监测服务器CPU使用、内存的占用、缓存大小、缓冲器以及进程标识,来判断当前运行服务性能损耗是多少。
2、从linux文件使用角度可以使用lsof工具对服务目录当前的磁盘情况、网络套字节等查看文件打开是否存在错误。
3、从网络角度,利用抓包软件捕获tcp/ip的数据包来分析网络转发情况。如:滑动窗口、mtu分片、端口等等信息判断网络时延、堵塞情况。
4、从运行服务角度,查看log日志中是否存在某些堆栈溢出情况或者程序报错相关异常。
针对卡顿问题,排除资源配置、网络等因素外,如果是java程序,还需要考虑JVM调教优化,向着短停顿时间—反应快的策略 ,使用CMS内存回收算法,具体配置: -XX:+UseConcMarkSweepGC,供参考
收起