mysql数据库加载太慢_MySQL数据库导致网站打开速度慢的解决思路

本文要说的是由MySQL数据库引起的网站打开速度慢的一个排查思路,如果是带宽跑满等其他情况则需要用其他方法

执行数据库语句,看看有没有语句长时间出现,正常数据都是毫秒执行,如果好几秒都在列表里,那肯定是有问题

mysql > show full processlist ;

也可以通过-e选项执行后grep过滤

mysql -uroot -p -e "show full processlist" |grep -vi sleep

开启慢查询日志,如超过2秒的查询记录进日志

vi /etc/my.cnf

slow_query_log = on #开启慢查询日志

slow_query_log_file = filename #指定日志文件保存路径

long_query_time = 2 #指定达到多少秒才算慢查询

如果发现语句有多个查询条件且重复值多,那么在重复少的条目上创建索引

排查实例:

某论坛打开速度很慢,按上述方式检查后发现有很多查询语句,都是用论坛的搜索框搜索的,那么优化思路如下:

1、网站程序上做调整,需要登录后才能搜索,这样可以减少搜索次数,减轻数据库压力

2、如果有大量频繁的搜索,分析web日志(awstats),有可能是爬虫,封掉就可以了

2、数据库做主从同步,读写分离

3、数据库前端做Memcache缓存服务器

4、类似'%避孕套%'这样的语句很难做索引优化,可以通过专门的搜索服务(如Sphinx)来实现搜索,不让数据库去做这个事。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值