故障技术难题:新浪SAE上MySQL故障处理(新浪saemysql)
新浪SAE(Sina App Engine)是一种托管云服务,提供一站式Internet应用解决方案,允许用户即使没有运维技术支持也可以轻松开发和部署应用。新浪SAE目前支持MySQL、KVDB、Storage和统计等组件,但是由于新浪SAE系统的底层设计和MySQL的复杂性,使用者经常会遇到MySQL故障处理问题,因此如何有效解决MySQL故障成为了新浪SAE开发者的难题。
首先,新浪SAE的团队提供了如下新浪SAE系统监控报告对MySQL故障处理有很大的帮助,可以直到当前MySQL服务产生故障的原因,有效排查当前发生的故障,以及必要的补救措施。
其次,我们可以检查系统是否出现内存利用率过高以及MySQL服务进程 CPU 利用率过高的情况,这可以用代码实现,比如:
//检查系统内存利用率
import os
def check_mem (): total_mem = float(os.popen('free -t | grep Mem | awk \'{print $2}\'').read())
used_mem = float(os.popen('free -t | grep Mem | awk \'{print $3}\'').read()) return used_mem/total_mem
//检查MySQL进程的CPU利用率 def check_Mysql():
mysql_pid = os.popen('cat /tmp/mysqld.pid').read() mysql_cpu = os.popen('top -p %s -b -n 1|grep -v "=="|awk \'NR==3{print $9}\'' % mysql_pid).read()
return mysql_cpu
然后使用代码脚本处理,如果出现系统内存不足导致MySQL服务产生故障,那么可以尝试增加新浪SAE内存;如果出现MySQL进程CPU利用率过高,可以使用MySQL的分析功能,使用 EXPLAIN 分析出现低性能的SQL,通过优化SQL语句来提升MySQL的运行效率。
此外,当MySQL故障处理发生时,我们还可以使用备份恢复,因为新浪SAE的备份类型非常丰富,每隔一小时就会进行一次数据备份,可以在出现MySQL故障时,通过查看备份进行恢复。
新浪SAEMySQL故障处理并不难,只要掌握 新浪SAE 系统监控报告、利用代码脚本处理、使用备份恢复 等方式,就可以解决MySQL故障处理的难题。
编辑:广州明生医药有限公司
标签:新浪,利用率,故障,系统,故障处理