1. 程式人生 > >專案優化應該從那幾個方面進行

專案優化應該從那幾個方面進行

首先一個專案的優化要從首頁、資料庫、等方面進行優化

前端:

1)壓縮js/css檔案,壓縮檔案,會將檔案中的所有空格去掉,並且將複雜的變數名簡單化。

2)在載入js/css檔案時,我們需要將公共的js/css檔案載入在header頭中,其他的載入在相應的body中,如果我們不這樣做,就會重複的載入js/css檔案,

3)應該把公共的js檔案放在header頭中,載入時一定要注意載入順序,因為js檔案會阻塞載入,可能會改變表的dom結構。css檔案和圖片載入會同步進行。

4)頁面顯示圖片尺寸與圖片真實尺寸保持一致。

5)合併頁面小圖示,一次性載入進來,然後進行圖片定位,找出需要用到的圖片

頁面dom元素定位:position屬性,絕對定位absolute/相對定位relative

6)合併js/css檔案,合併載入

7)靜態化

為什麼靜態化可以提高訪問速度

頁面靜態化不需要訪問資料庫查詢資料

頁面靜態化省去了程式碼的執行程式,直接將頁面載入進來

下面介紹的是資料庫的優化

資料庫的優化我們可以在以下的幾個方面入手

1)慢查詢

使用慢查詢,我們需要修改一下配置檔案。

開啟慢日誌查詢

設定你允許一條sql語句最大的查詢時間

下面和大家說一下應該怎樣開啟慢查詢

1)在mysql客戶端輸入命令:show variables like '%quer%';    檢視慢查詢是否開啟

進入以後我們需要找出兩行:long_query_time,slow_query_log,前面的一個是判斷時間,看看查詢的時間在多長時間以上為超時,第二個是,看看慢查詢是否開啟。

2)開啟

在my.ini配置檔案的[mysqld]選項下增加:

slow_query_log=TRUE

slow_query_log_file=c:/slow_query_log.txt

long_query_time=3

3)重啟Apache

2)分表

縱向分表:將操作不頻繁的表分離出來

橫向分表:可以按兩個維度進行分表:按時間分表,按使用者分表

3)索引

索引型別:複合索引,普通索引,唯一索引,主鍵索引,全文索引

唯一索引:可以有空值,一個表中可以有多個唯一索引

主鍵索引:不可以有空值,表中是唯一的。

複合索引:最左側原則,從最左邊進行篩選

4)分割槽

將資料儲存到不同的硬碟分割槽中

5)讀寫分離【主從複製】

把讀的操作和寫的操作分成兩個資料庫來進行,一個寫多個讀。

寫的資料庫的儲存引擎是innodb,支援事務,寫入的操作更快,即支援表鎖,也支援行鎖;myisam讀取的較快。

6)資料庫快取

7)設計表

8)sql語句優化

儘量不使用聯查

不要將表中資料全部查詢

9)分庫

10)負載均衡

負載http請求,用在高併發大量訪問的網站中。至少需要三臺伺服器。

A伺服器【代理伺服器】--》備用伺服器(keepalived軟體)

B處理請求

C處理請求

所有的請求都由A接收,並且分配,分配給其他的伺服器

請求的分配方式:輪詢【預設】,權重【能力大,責任就大】,ip_hash【根據ip地址來進行分配】