PHP伺服器訪問優化

YatHo發表於2017-11-10

常規的優化措施:

  磁碟寫入,網路安全,證照加密,CPU,記憶體,DNS解析,資料庫優化,頁面gzip壓縮

 

PHP gzip壓縮開啟:

  開啟php目錄下的php.ini檔案,找到zlib.output_compression = Off,改成zlib.output_compression = On,

  再把;zlib.output_compression_level前面的;去掉,後面的-1改成1~5的數值。這樣便可以實現所有php頁面的gzip效果,不再需要單獨修改網站的php檔案——如果站點很多的話,會節省很多時間。

  需要說明的是以下幾點

  一、;zlib.output_handler必須保持註釋掉,因為此引數和前面的設定衝突——官方的說法。

  二、一般情況下快取是4k(output_buffering = 4096)。

  三、zlib.output_compression_level 建議引數值是1~5,6以實際壓縮效果提升不大,cpu佔用卻是幾何增長。

 

資料庫優化:

  1.慢查詢,增加查詢索引

  2.切換資料庫搜尋引擎

MySQL從InnoDB切換至MyISAM命令

#table_name為資料庫表名

ALTER TABLE table_name ENGINE=MyISAM   

  一般情況下,mysql會預設提供多種儲存引擎,你可以通過下面的檢視:

  mysql> show engines;
 
  看你的mysql當前預設的儲存引擎:
  mysql> show variables like '%storage_engine%';
 
  你要看某個表用了什麼引擎(在顯示結果裡引數engine後面的就表示該表當前用的儲存引擎):
  mysql> show create table 表名;
 
  如何檢視Mysql伺服器上的版本
  select version();
 
  mysql的儲存引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事務安全表,其他儲存引擎都是非事務安全表。
  最常使用的2種儲存引擎:
  1.Myisam是Mysql的預設儲存引擎,當create建立新表時,未指定新表的儲存引擎時,預設使用Myisam。每個MyISAM在磁碟上儲存成三個檔案。檔名都和表名相同,副檔名分別是.frm(儲存表定義)、.MYD(MYData,儲存資料)、.MYI(MYIndex,儲存索引)。資料檔案和索引檔案可以放置在不同的目錄,平均分佈io,獲得更快的速度。
 
  2.InnoDB儲存引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比Myisam的儲存引擎,InnoDB寫的處理效率差一些並且會佔用更多的磁碟空間以保留資料和索引。
 

相關文章