zoukankan      html  css  js  c++  java
  • 服务器CPU占用率达到100%的解决方案或者说是实操步骤

    项目环境:目前是银行项目的tomcat跟mysql是装在同一个服务器,cpu占用率达到100%,mysql在任务管理器占用率极高,达到80%以上;
    软件方面的自查:
    1.查询mysql版本,尽量使用公司同一版本5.6
    select version()

    2.查询是否有低效率的sql,有的话就调优,执行时间不能高于3s(方向为索引,索引级别为ref以上、关联查询的各个表编码相同)
    SELECT
    *
    FROM
    information_schema. PROCESSLIST a
    WHERE
    command <> 'sleep'
    AND time > 3
    ORDER BY
    time DESC

    3.查看mysql最大连接数
    show variables like '%max_connections%';
    设置最大连接数
    方法一:不用重启mysql:但是mysql挂掉之后就无效,需要重新设置
    set global max_connections=16000;
    修改配置文件
    进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=16000 服务里重起MySQL即可.

    4.优化项目数据库连接数,加大到合适数量
    5.优化tomcat服务器参数

    硬件自查
    危害:占用同一个CPU资源,会导致tomcat服务器卡顿,影响性能;
    建议:硬件升级;CPU增强,机械硬盘升级为固态硬盘(因为解析几百上千个文本需要很多IO操作);mysql服务及tomcat服务分离到不同的服务器

    持续观察一小时:
    1.cpu从100%下降到5%到8%;
    2.待解析的文件从230个到50个,每小时解析180个文件
    总结:完美完成优化改造,提高服务稳定性及并发量

  • 相关阅读:
    Workbox使用策略
    前端性能指标计算方法
    make源文件时出现 /usr/bin/ld: cannot find -lstdc++ 错误
    mac 支持rz sz
    v8引擎的优化
    pixi与lottie-web的benchmark测试
    alinode与官方node性能测试方法及分析
    2019年RTC大会记录
    后端数据推送-EventSource
    技术选型需要关注的软件开源协议
  • 原文地址:https://www.cnblogs.com/tongcc/p/14314418.html
Copyright © 2011-2022 走看看