Mysql優化和web伺服器優化

2022-01-12 13:56:42 字數 1653 閱讀 7728

1

.提高併發量 負載均衡(分布式服務架構)併發量更高的軟體例如nginx

2.頁面靜態化 不經常發生資料變動的動態網頁生成靜態網頁,提高訪問速度

3.記憶體快取優化 把資料快取到記憶體中,提高資料相應速度

4.資料庫優化 一般資料讀寫頻繁,可以快取到記憶體中。但是記憶體容量有限,不能夠把大量資料快取,所有優化資料庫軟體本身是很有必要的。

1

.儲存層 儲存引擎 列型別選擇 正規化(三正規化)

2.設計層 索引 快取 分割槽表

3.sql層 使用執行效率高的sql語句 explain執行計畫 慢查詢日誌記錄

4.架構層 分布式資料庫架構 使用多台資料庫伺服器,解決資料庫訪問併發的問題

主從複製 從伺服器複製主伺服器資料

myisam

檔案結構方面:.frm 結構檔案  .myd資料檔案 .myi索引檔案

資料儲存順序,是插入順序沒有進行排序操作

innodb

檔案結構 .frm結構檔案 資料和索引在乙個檔案裡,可以選擇把innodb的資料和索引檔案,根據表名稱進行分離。在建立表的時候,就進行分離。

臨時設定分離

mysql > show variables like '

innodb_file_per_table

';

開啟

mysql > set

global innodb_file_per_table=1;

檔案結構就成了 .frm 結構檔案  .ibd 資料和索引檔案

資料儲存順序,是根據主鍵進行排序操作

還有事務和外來鍵功能

併發性好 innodb在進行併發操作時,為了資料的一致性,可以使用行鎖機制(鎖表粒度)。影響資料只為當前行。併發性較好一些。

mysiam 讀寫比較好 innodb 併發性好

型別的選擇:

選取佔據空間小的字段,占用小,資料查詢遍歷就會快速。

內容長度固定字段  整型儲存  

資料庫按照三正規化進行設計:

正規化是一種規範或者約束。如果設計的資料庫表是符合正規化的,被認為是良好的資料設計。

第一正規化 資料字段具有原子性,業務上不可再分割。

第二正規化 資料具有唯一性(主鍵id)。

第三正規化 資料字段和主鍵具有緊密聯絡,不允許出現冗餘(rong[重複])字段

真實業務的環境,為了能夠實現更好的資料庫表的效能,會選擇不遵守正規化的操作。

遵守第三正規化,查詢資料,需要連表操作,如果資料表資料很多,連表操作,會耗費大量時間。為了提高查詢效率。可以選擇把資料字段儲存到同乙個表中。

建立了冗餘字段之後,一定要注意維護資料的一致性。

索引是一種資料結構(儲存資料的方式),儲存字段值的內容和對應真實資料的實體地址。

查詢資料通過索引查詢到實體地址,再通過實體地址直接定位資料。

索引是一種以空間換取時間的方式,犧牲了寫的速度,提高查詢速度。

之前查詢資料需要遍歷整個資料表

建立索引之後,查詢變為:

查詢字段=>索引=>實體地址=>真實資料

一小部分,後面補充~

優化Web伺服器

優化web伺服器,實現如下效果 自定義 404錯誤頁面 公升級nginx至1.15.8版本,開啟status模組 編寫日誌切割指令碼,實現每週五備份日誌2.2 步驟 實現此案例需要按照如下步驟進行。步驟一 自定義404錯誤頁面 1 優化前測試 客戶端訪問乙個不存在的頁面 root room9pc01...

優化Web伺服器

2.1 問題 優化web伺服器,實現如下效果 自定義 404錯誤頁面 公升級nginx至1.15.8版本,開啟status模組 編寫日誌切割指令碼,實現每週五備份日誌 開啟gzip壓縮功能,提高資料傳輸效率 開啟檔案快取功能2.2 步驟 實現此案例需要按照如下步驟進行。步驟一 自定義404錯誤頁面 ...

MySQL優化 伺服器優化

標籤 空格分隔 mysql 伺服器的硬體效能直接決定著mysql資料庫的效能,硬體的效能瓶頸,直接決定mysql資料庫的執行速度和效率。需要從以下幾個方面考慮 1 配置較大的記憶體。足夠大的記憶體,是提高mysql資料庫效能的方法之一。記憶體的io比硬碟快的多,可以增加系統的緩衝區容量,使資料在記憶...