自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【博文推薦】一次網(wǎng)站遷移故障及分析

運(yùn)維 系統(tǒng)運(yùn)維 系統(tǒng)
公司運(yùn)營(yíng)項(xiàng)目遷移,結(jié)果出現(xiàn)了很多意想不到的問題。因?yàn)檫@次遷移的LNMP環(huán)境不同,以前用的是Ver 14.14 Distrib 5.1.60,新服務(wù)器用的是Ver 14.14 Distrib 5.6.16,還有一個(gè)mysql的主輔同步,做了過濾,只同步了某些表,當(dāng)時(shí)凌晨遷移……

本博文出自51CTO博客 lxshopping博主,有任何問題請(qǐng)進(jìn)入博主頁面互動(dòng)討論!
博文地址:http://lxshopping.blog.51cto.com/4542643/1574929

公司運(yùn)營(yíng)項(xiàng)目遷移,這個(gè)項(xiàng)目最重要的就是充值和讓玩家能玩游戲,還有后臺(tái)統(tǒng)計(jì),就是類似支付寶這樣的第三方平臺(tái)的支付工具,由于涉及的到錢,所以上個(gè)月就做好遷移的準(zhǔn)備,將代碼和數(shù)據(jù)庫都已轉(zhuǎn)移完畢,并提交運(yùn)營(yíng)那邊測(cè)試,***跟運(yùn)營(yíng)討論說凌晨0點(diǎn)充值的人最少,開始切域名,考慮到切換DNS后無法立即生效,所以做了301跳轉(zhuǎn),整個(gè)遷移流程是:

1.暫停原服務(wù)器數(shù)據(jù)庫,導(dǎo)出相關(guān)數(shù)據(jù)庫

2.將導(dǎo)出的數(shù)據(jù)庫同步到杭州xx服務(wù)器上面并導(dǎo)入到數(shù)據(jù)庫中

3.切換域名指向到xx服務(wù)器

4.原服務(wù)器上面做301跳轉(zhuǎn)到xx服務(wù)器(保證不寫入新數(shù)據(jù)到原運(yùn)營(yíng)服務(wù)器上面)

5.運(yùn)營(yíng)協(xié)助測(cè)試新服務(wù)器數(shù)據(jù)是否正常

按照上面的流程操作,結(jié)果出現(xiàn)了很多意想不到的問題,因?yàn)檫@次遷移的LNMP環(huán)境不同,特別的是數(shù)據(jù)庫,以前用的是Ver 14.14 Distrib 5.1.60,新服務(wù)器用的是Ver 14.14 Distrib 5.6.16,還有一個(gè)mysql的主輔同步,做了過濾,只同步了某些表,當(dāng)時(shí)凌晨遷移,將***的數(shù)據(jù)再次導(dǎo)入新服務(wù)器mysql,由于版本的問題,發(fā)現(xiàn)有個(gè)mysql存儲(chǔ)過程無法導(dǎo)入,還有默認(rèn)值問題,如下圖:默認(rèn)值要改為"NULL",不能是"無",原mysql中還有些定時(shí)任務(wù)無法導(dǎo)出,只能重新創(chuàng)建了。

wKioL1RgIQCypKaRAADnLKibCSI525.jpg

好了,解決了上面的問題,重新做了mysql主輔同步和過濾,當(dāng)時(shí)測(cè)試也是正常的,結(jié)果第二天早上8點(diǎn)半用戶流量過來了,網(wǎng)站都打不開了,首先查看了php日志,出現(xiàn)下面這個(gè)問題:

wKiom1RgIX7QK9iWAAMJY17ZGUs576.jpg然后不斷的修改下面的參數(shù),感覺調(diào)到2048后已經(jīng)是臨界值了,因?yàn)檫@臺(tái)機(jī)器只有8G內(nèi)存,max_children = 2048后發(fā)現(xiàn)內(nèi)存基本滿了,在調(diào)高可能內(nèi)存就爆了,當(dāng)時(shí)調(diào)整php后發(fā)現(xiàn)可以短時(shí)間的正常訪問,功能也正常,但是過了10分鐘左右,又出現(xiàn)訪問很慢的問題,繼續(xù)看php日志,還是上圖的提示,感覺這個(gè)不是php的問題,因?yàn)檫@個(gè)網(wǎng)站原服務(wù)器沒有開啟這么多php進(jìn)程,但是運(yùn)行正常,整個(gè)站的出口流量也不大。

wKiom1RgId3QbEvxAAETcEKJZrc924.jpg

綜上分析,發(fā)現(xiàn)應(yīng)該是php連接mysql出現(xiàn)了堵塞,導(dǎo)致php進(jìn)程一直在排隊(duì),當(dāng)新的請(qǐng)求過來后,由于其他的php進(jìn)程都在排隊(duì),只能在開啟新的php進(jìn)程,php進(jìn)程永遠(yuǎn)提示繁忙,不夠用,要調(diào)整max_children值,于是就看mysql是不是有問題?

進(jìn)mysql,show processlist查看mysql的全部的線程,發(fā)現(xiàn)pay庫里面有張uc_members表大量lock,

wKioL1RgJg-gvdZlAAPbC55JhBc254.jpg

大量的鎖表,詢問開發(fā)這張表是用戶表,也就是用戶每次登錄都要查詢這張表,這下終于找到原因了,就是php執(zhí)行用戶登錄的時(shí)候,要讀取mysql中這張uc_members表,每個(gè)用戶登錄都要鎖表然后查詢用戶登錄信息,導(dǎo)致這張表一直處于被鎖死的狀態(tài),隨著用戶請(qǐng)求越來越多,php進(jìn)程也增多,一直等待mysql返回用戶登錄信息,但是mysql一直處于鎖表狀態(tài),結(jié)果就導(dǎo)致了這種現(xiàn)象,php進(jìn)程卡死,用戶無法登錄,網(wǎng)站***也打不開。

查看這張表用的是MyISAM的引擎:

wKiom1RgJ67Al7UvAACMsXKr1wc834.jpg

MyISAM引擎是表級(jí)鎖,更換為InnoDB引擎為行級(jí)鎖,再次show processlist發(fā)現(xiàn)鎖表大量減少,頁面可以正常打開,用戶也可以登錄了,問題解決。

InnoDB與Myisam的六大區(qū)別:

wKiom1RgKzyhnkeWAAKESjE-BRk751.jpg

參考:http://www.ha97.com/4197.html
 

總結(jié):

已經(jīng)建議開發(fā)部門,以后開發(fā)程序不要再mysql里面寫定時(shí)任務(wù),因?yàn)閙ysql里面寫定時(shí)任務(wù),執(zhí)行成功與否很難看到,遷移mysql的時(shí)候也會(huì)很麻煩,可以寫crontab讓php去執(zhí)行定時(shí)任務(wù)即可,還有存儲(chǔ)過程,如果一定需要在mysql里面寫存儲(chǔ)過程,盡量要規(guī)范,防止以后遷移由于mysql版本問題導(dǎo)致很多奇怪的現(xiàn)象。

出現(xiàn)這次故障主要是事先沒有做壓力測(cè)試,只是做了網(wǎng)站基本功能的測(cè)試,下次遷移網(wǎng)站之前一定要做好壓力測(cè)試,用戶登錄測(cè)試及回滾方案,一個(gè)完整的遷移流程應(yīng)該是:

1.暫停原服務(wù)器數(shù)據(jù)庫,導(dǎo)出相關(guān)數(shù)據(jù)庫

2.將導(dǎo)出的數(shù)據(jù)庫同步到杭州xx服務(wù)器上面并導(dǎo)入到數(shù)據(jù)庫中

3.對(duì)xx服務(wù)器進(jìn)行壓力測(cè)試及用戶登錄測(cè)試

4.回滾方案,出現(xiàn)問題及時(shí)回滾到原服務(wù)器,保證用戶正常訪問

5.切換域名指向到xx服務(wù)器

6.原服務(wù)器上面做301跳轉(zhuǎn)到xx服務(wù)器(保證不寫入新數(shù)據(jù)到原運(yùn)營(yíng)服務(wù)器上面)

7.運(yùn)營(yíng)協(xié)助測(cè)試新服務(wù)器數(shù)據(jù)是否正常

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2015-02-27 10:14:33

2015-03-18 13:18:45

MySQLSQL優(yōu)化

2010-07-30 16:10:45

UPS設(shè)備燒毀故障分析

2021-01-08 13:52:15

Consul微服務(wù)服務(wù)注冊(cè)中心

2014-12-01 10:33:51

Python

2015-05-15 10:04:28

localhost

2019-04-18 10:55:00

故障演練流量

2024-12-24 09:17:53

瀏覽器報(bào)錯(cuò)運(yùn)維

2023-03-26 20:24:50

ERP網(wǎng)站系統(tǒng)

2018-12-06 16:01:01

Redis遷移容器數(shù)據(jù)庫

2020-10-18 12:53:29

黑科技網(wǎng)站軟件

2011-05-06 10:32:06

硬盤鍵盤

2011-04-07 11:20:21

SQLServer

2018-05-30 11:09:41

memcache服務(wù)器故障

2015-03-16 10:26:59

2015-04-30 10:32:16

2015-05-13 11:12:19

Linux企業(yè)運(yùn)維技巧

2015-06-17 09:34:09

軟件定義存儲(chǔ) 云存儲(chǔ)

2015-07-01 10:25:07

Docker開源項(xiàng)目容器

2014-10-15 16:32:43

MapReducehadoop
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)