短鏈接風(fēng)暴
短鏈接屬于執(zhí)行很少的語(yǔ)句斷開(kāi)鏈接,需要的時(shí)候再重新建立。
數(shù)據(jù)庫(kù)的鏈接成本高,高在以下三點(diǎn)。
正常的網(wǎng)絡(luò)連接三次握手
登錄的權(quán)限驗(yàn)證
獲得這個(gè)連接的數(shù)據(jù)讀寫權(quán)限
連接次數(shù)
有最大的鏈接數(shù)限制,max_connections參數(shù)。超過(guò)這個(gè)值其他鏈接就拒絕。
解決短鏈接
方法1斷鏈接
1 查看現(xiàn)存的鏈接是否還是執(zhí)行狀態(tài),不是執(zhí)行狀態(tài)的鏈接進(jìn)行斷開(kāi)
2 在執(zhí)行斷開(kāi)鏈接時(shí),需要查看該線程是否處于事務(wù)空閑的。命令可以使用 show processlist命令,事務(wù)查看事務(wù)表信息。
方法2減少鏈接的損耗
業(yè)務(wù)代碼申請(qǐng)大量的數(shù)據(jù)庫(kù)鏈接做備用。
或者數(shù)據(jù)庫(kù)跳過(guò)權(quán)限驗(yàn)證階段。不建議
方式2風(fēng)險(xiǎn)高,在于出現(xiàn)安全問(wèn)題,外網(wǎng)可以訪問(wèn)的情況下風(fēng)險(xiǎn)極高
慢查詢
慢查詢?nèi)菀壮霈F(xiàn)的問(wèn)題
1 索引沒(méi)有設(shè)計(jì)好
2sql語(yǔ)句沒(méi)有寫好
3 mysql選錯(cuò)了索引
索引沒(méi)有設(shè)計(jì)好
重新設(shè)計(jì)索引。但是數(shù)據(jù)庫(kù)可能有多個(gè)狀態(tài),主從庫(kù)。
重寫索引,先在從庫(kù)上關(guān)閉binlog,增加索引,主備切換,關(guān)閉原先主庫(kù)的binlog,增加索引。
新的方式是采用gh-ost方式。
語(yǔ)句沒(méi)寫好
改寫sql執(zhí)行語(yǔ)句。
選錯(cuò)索引
可以使用force index來(lái)解決這個(gè)問(wèn)題。
QPS突增問(wèn)題
1根據(jù)白名單去掉這個(gè)業(yè)務(wù)代碼
2權(quán)限刪除用戶
3查詢重寫限制語(yǔ)句