开发者社区> 问答> 正文

如何解决由MYSQL 频繁读写导致的CPU高占用率问题

自己做的一个 网站,每天近 22W 左右的访问量,1500 左右独立用户。现在的问题是数据库有个表读写非常频繁,数据量不大,但是并发数还是很客观的,每日特别是在中午,同时在线人数达到 500 人时,并发读写数据库,导致 MYSQL 进程 CPU 狂飙。由于自己是前端工程师,对后端不是特别熟悉。对于这种并发读写特别高的情况,如何才能优化程序,降低 CPU 占用率(主要是 mysqld 这块)?也稍微了解了一些缓存技术 例如 memcache redis 等等。不知道我的这种情况适合什么样的缓存解决方案。
1

展开
收起
蛮大人123 2016-02-08 13:52:12 5901 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    1.show processlist 语句,查找负荷最重的 SQL 语句,优化该SQL,比如适当建立某字段的索引;
    2.开启慢查询,找到性能瓶颈点的SQL语句,然后使用explain,看看该语句是否可以优化;
    3.在多用户,高并发的情况下,任何系统都会hold不住的,所以,使用缓存是必须的,就向楼上说的memcached,或者redis,这些都可以;
    4.打开配置文件,看看tmp_table_size大小是否偏小,如果允许,适当的增大一点;
    5.如果max_heap_table_size配置的过小,增大一点。

    2019-07-17 18:39:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云MySQL云数据库产品体系介绍 立即下载
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载

相关镜像