什麼是效能?效能即響應時間。即我們解決問題的速度。
那麼我們要優化效能,則是要減少這個時間,即先找到時間都花在了什麼地方。
誤區:認為優化是降低伺服器cpu或記憶體。
資源是拿來利用的,如果資源能夠換來更快地查詢,那麼也是我們優化的一部分。
效能的倒數是吞吐量。當我們的效能上去了,自然每秒處理的數量就上去了,即吞吐量只是效能優化的副產品。
伺服器硬體
伺服器系統
儲存引擎
引數配置
表結構和sql語句
2.2.1.大事務
概念:
關於隔離性:
2.2.2.大表
行數超過千萬或者檔案大於10g
修改表結構:長時間鎖表
解決辦法:
歷史資料歸檔:有效解決對業務的影響。
測量任務所花費的時間,對結果進行統計和排序,將重要的任務排在前面。
qps(tps)= 併發數/平均響應時間 或者 併發數 = qps*平均響應時間
例如:某個查詢/事務需要0.1s,併發10個,qps就是10/0.1 = 100,也就是每秒可以處理100個查詢/事務。
【峰值qps和機器計算公式】(**於網路)
原理:每天80%的訪問集中在20%的時間裡,這20%時間叫做峰值時間
公式:( 總pv數 * 80% ) / ( 每天秒數 * 20% ) = 峰值時間每秒請求數(qps)
機器:峰值時間每秒qps / 單台機器的qps = 需要的機器
問:每天300w pv 的在單台機器上,這台機器需要多少qps?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (qps)
問:如果一台機器的qps是58,需要幾台機器來支援?答:139 / 58 = 3
• 是否值得優化,如果優化帶來的負面影響更大,則不要優化。
• 要注意異常情況,也許90%都不會卡,但是要注意那10%。
• 未知的地方,如果有300毫秒我也不知道伺服器幹什麼去了,那一定要找出來。
• 不要相信平均值。
詳細的優化會在後面的篇幅分享
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...
mysql的效能優化 mysql效能優化
檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...
mysql 效能優化 命令 mysql效能優化
發現問題 當發現程式執行比較慢的時候,首先排除物力資源問題之後,就將注意力轉向mysq資料庫 1 首先確定執行慢的sql語句 mysql show full processlist 2 確認低效的查詢 多次執行第一步發現time耗費大的sql語句。檢視耗費的時間。3 分析效能 為sql生成乙個執行計...