mysql数据库加载太慢_mysql网站打开慢问题排查&数据库优化

1.访问慢问题

1.1 应用反应mysql网站打开慢

top查看CPU是否是mysql占得较多;

uptime查看负载情况;

进入到mysql库中,查看进程数:show (full) processlist;

1.2 开启慢查询日志

long_query_time=1

log-slow-queries = /data/3306/slow.log

1.3 explain某一条语句,看是否走索引

索引建议建在唯一值较多(即重复值少的)的列上,若三个列都很多,则可基于三个列建立联合索引。

对于数据库中像like‘%XXX%’这样的语句特别多,会导致数据库负载很高,但是没有太大的优化余地(如百度的搜索栏界面),这种情况下的优化方案思路:

1)从业务上实现用户登录后再搜索,可减少搜索次数,从而减轻数据库服务压力

2)如果有大量频繁的搜索,可能是爬虫在爬,这时需要分析web日志,封掉其IP

3)配置多个主从同步,程序上实现读写分离(最好让like这种查询去从库查),减轻主库读写压力

4)在数据库前端增加memcached缓存服务器

5)可以通过搜索服务Sphinx实现搜索

6)可以利用c,ruby开发程序,实现每日读库计算搜索索引,保存在服务器上提供搜索,然后每五分钟多一个从库做一次增量

2.mysql优化

2.1 硬件优化

CPU:一台服务器8-16颗

内存:96G-128G跑3-4个实例,32G-64G跑2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值