通過測試發(fā)現(xiàn)對大表進行Optimize Table不會阻塞DML語句,它只會在文件發(fā)生切換的時候短暫鎖表。
表上索引很多的情況,執(zhí)行Optimize Table會很慢,建議評估表空間回收后的大小,如果回收之后表變得較小,建議刪除索引之后進行操作。通過測試刪除索引后速度能快一倍。
在執(zhí)行optimizer table的時候,從庫會一直延遲,直到主庫完成操作,從庫才會開始操作optimizer table。
到了正式操作的時候,我們按照測試的結(jié)果進行執(zhí)行。前期都較為順利。大概在操作了1個小時之后,突然出現(xiàn)監(jiān)控連接數(shù)告警。
可以看到當(dāng)前我們設(shè)置最大的Thread數(shù)量為3000。結(jié)果瞬間達到了最大值。
通過命令行進入到數(shù)據(jù)庫。發(fā)現(xiàn)大量的查詢語句在等待Waiting for table metadata lock。
這些查詢語句也都在查詢我們操作Optimize Table的表。沒有任何辦法數(shù)據(jù)庫就這樣全局hang死了。不停的有連接上來執(zhí)行查詢操作,就要等待這個Waiting for table metadata lock。只能把源頭Optimize Table停掉。在停掉了之后,系統(tǒng)立馬恢復(fù)了正常。
在這次操作的過程中,其實前期也有完整的測試,但是還是出現(xiàn)了這樣的情況,一個很大的原因是我們沒辦法模擬生產(chǎn)的負載情況。
應(yīng)用程序還有一個特點,一旦堵塞了住了,就會不停的連接,這樣的程序其實就是一個瘋狂壓測程序。
所以做這樣的測試,需要我們思考到一點:
我們需要捕捉到生產(chǎn)的流量,然后在測試的時候進行回放重演。
那么怎么進行流量的捕捉,一個簡單的方法就是使用tcpdump捕捉3306端口的信息。然后使用解析出數(shù)據(jù),進行重演。此類方案比較多,比較令人熟悉的是tcpcopy這個解決方案。
那么最終的一個解決辦法就是,我們可以先在從庫上進行操作。這里的操作需要加上sql_log_bin = 0不記錄binlog日志。等從庫回收之后,再找個機會進行主從切換。
更多精彩干貨分享
點擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129909.html
摘要:為了一探究竟,于是開啟了這次應(yīng)用性能調(diào)優(yōu)之旅。使用即時編譯器和都能輕輕松松的讓你的應(yīng)用程序在不用做任何修改的情況下,直接提高或者更高的性能。 這是一份事后的總結(jié)。在經(jīng)歷了調(diào)優(yōu)過程踩的很多坑之后,我們最終完善并實施了初步的性能測試方案,通過真實的測試數(shù)據(jù)歸納出了 Laravel 開發(fā)過程中的一些實踐技巧。 0x00 源起 最近有同事反饋 Laravel 寫的應(yīng)用程序響應(yīng)有點慢、20幾個并...
摘要:用法顯示當(dāng)前的幫助信息不輸出任何信息顯示當(dāng)前版本強制輸出禁用輸出不進行交互運行環(huán)境詳細輸出普通更加詳細可用命令全局命令清除編譯生成的文件,相當(dāng)于的反操作將站點設(shè)為維護狀態(tài)顯示當(dāng)前運行環(huán)境來源于 laravel artisan 用法 $ php artisan Laravel Framework version 5.1.46 (LTS) Usage: command [options] ...
摘要:具體來說,就是在寫數(shù)據(jù)庫的時候同時寫一份數(shù)據(jù)到緩存集群里,然后用緩存集群來承載大部分的讀請求。各種精妙的架構(gòu)設(shè)計因此一篇小文頂多具有拋磚引玉的效果但是數(shù)據(jù)庫優(yōu)化的思想差不多就這些了 前言 數(shù)據(jù)庫優(yōu)化一方面是找出系統(tǒng)的瓶頸,提高MySQL數(shù)據(jù)庫的整體性能,而另一方面需要合理的結(jié)構(gòu)設(shè)計和參數(shù)調(diào)整,以提高用戶的相應(yīng)速度,同時還要盡可能的節(jié)約系統(tǒng)資源,以便讓系統(tǒng)提供更大的負荷. 1. 優(yōu)化一覽...
閱讀 1459·2023-01-11 13:20
閱讀 1815·2023-01-11 13:20
閱讀 1267·2023-01-11 13:20
閱讀 2007·2023-01-11 13:20
閱讀 4227·2023-01-11 13:20
閱讀 2885·2023-01-11 13:20
閱讀 1489·2023-01-11 13:20
閱讀 3814·2023-01-11 13:20