您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“mysql中影響數據庫性能的因素有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“mysql中影響數據庫性能的因素有哪些”這篇文章吧。
關于數據庫性能的故事
面試時多多少少會講到數據庫上的事情,“你對數據庫的掌握如何?”,什么時候最考驗數據庫的性能,答應主要方面上講就是大數據量的讀寫時,而電商類的大促活動就是考驗各自的數據庫性能的時候啦。
對于web服務器而言,數據量大時,我們可以簡單的通過橫向擴展來減少單個服務器的負擔,但是對于數據庫服務器來說就沒有那么簡單了,他們不可能做到輕易的橫向擴展,這樣也違背了數據庫的完整性與一致性的原則,那么我們的數據庫架構該如何搭建呢?
對于大促類活動而言,不管是產品多好、策劃多成功,如果沒有穩定的數據庫及服務器環境,則這所謂的一切都將是一場空呀。
數據庫架構案例
如圖所示,主從服務器之間沒有任何主從復制組件,即當主服務器出現了故障,很難進行主服務器的切換,這需要DBA在從服務器中選擇數據最新的從服務器將其提升為主服務器并同步其他從服務器,這個過程的時間成本也是非常沉重的。
且過多的從服務器,當業務量大時對主服務器的網卡也是一定的挑戰。
我們可以通過對集群的監控信息來了解是什么影響了數據庫性能。
答應其實是肯定的,一般情況下主要是QPS與TPS、并發量(同一時間處理的請求的數量,避免和同時連接數混淆)、磁盤IO、讀操作過于高
這里有個建議:最好不要在主庫上數據備份,起碼在大型活動前要取消這類計劃、
影響數據庫的因素
sql查詢速度
服務器硬件
網卡流量
磁盤IO
超高的QPS和TPS
風險:效率底下的SQL(QPS:每秒鐘處理的查詢量)
大量的并發和超高的CPU使用率
風險:大量的并發(數據庫連接數被占滿(max_connections默認100))
風險:超高的CPU使用率(因CPU資源耗盡而出現宕機)
磁盤IO
風險:磁盤IO性能突然下降(使用更快的磁盤設備)
風險:其他大量消耗磁盤性能的計劃任務(調整計劃任務)
網卡流量
風險:網卡IO被占滿(1000Mb/8=100MB)
如何避免無法連接數據庫的情況:
1、減少從服務器的數量
2、進行分級緩存
3、避免使用“select * ”進行查詢
4、分離業務網絡和服務器網絡
以上是“mysql中影響數據庫性能的因素有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。