一些Apache Php和Mysql的優化配置選項

2021-06-27 03:48:29 字數 3041 閱讀 7458

1、apache

apache的配置檔案:httpd.conf

hostnamelookups

語法:hostnamelookups on|off|double

預設:hostnamelookups off

此選項可用來配置是否在客戶端ip上啟用dns查詢,一般設為off。

keepalive

語法:keepalive on|off

預設:keepalive on

此選項可用來配置是否啟用http持久連線,一般設為on。

http/1.0中keep-alive擴充套件和 http/1.1中持久連線特性可以提供持久的http sessions,可以允許在乙個tcp連線中傳送多次請求。在

http/1.1中,持久連線是預設啟用的,除非有特殊指定。如果請求內容長度未知,為了使用持久連線將會對內容進行分組編碼。

maxkeepaliverequests

語法:maxkeepaliverequests number

預設:maxkeepaliverequests 100

此選項指定在乙個持久連線中允許的最大請求次數(前提是keepalive on)。若設定為0,則是無限制的。一般建議根據伺服器的配置及效能表

現,盡量將此值設定的大些。

keepalivetimeout

語法:keepalivetimeout num[ms]

預設:keepalivetimeout 5

此選項指定伺服器在一次連線中的超時時間。如果在一次連線中第二次請求和第一次請求之間超過keepalivetimeout的時間的話,第一次連線

就會被伺服器關閉,再新建第二個連線。 此值設定越大,伺服器壓力也就越大。可根據實際情況配置。

maxspareservers

語法:maxspareservers number

預設值:maxspareservers 10

此選項設定空閒子程序的最大數量。所謂空閒子程序是指沒有正在處理請求的子程序。如果當前有超過maxspareservers數量的空閒子程序,那

麼父程序將殺死多餘的子程序。一般此引數不可設定過大,不過至少比minspareservers要大。

maxclients

語法:maxclients number

預設值:maxclients 150

此選項設定apache可以同時處理請求的最大數量。如果請求總數已達到這個值,那麼後面的請求就要排隊,直到某個已處理請求完

畢。可以根據硬體配置和負載情況來動態調整這個值。apache2.0以前版本預設的限制不能大於256,apache 2.0中新加入了serverlimit指令來

限制此值的最大值(max=20000)。

maxrequestsperchild

語法:maxrequestsperchild number

預設值:maxrequestsperchild 10000

此選項設定每個子程序可處理的請求數。每個子程序在處理了maxrequestsperchild個請求後將自動銷毀。設定0表示無限,即子程序永不銷毀

。 mod_deflate模組:

mod_deflate模組提供了deflate輸出過濾器,允許伺服器在將輸出內容傳送到客戶端以前進行壓縮,以節約頻寬。

詳情可參考:

mod_expires模組:

控**務器應答時的expires頭內容和cache-control頭的max-age指令。有效期(expiration date)可以設定為相對於原始檔的最後修改時刻或者

客戶端的訪問時刻。這些http頭向客戶端表明了文件的有效性和永續性。如果有快取,文件就可以從快取(除已經過期)而不是從伺服器讀取。接

著,客戶端考察快取中的副本,看看是否過期或者失效,以決定是否必須從伺服器獲得更新。

詳情可參考:

mod_cache、mod_mem_cache模組:

提供快取支援,詳情可參考:

2、php

php配置檔案:php.ini

output_buffering、zlib.output_compression

output_buffering設定輸出緩衝區大小,配合zlib.output_compression可對頁面進行壓縮後輸出,節省頻寬。

max_execution_time

設定了指令碼被解析器中止之前允許的最大執行時間,單位秒。 這有助於防止寫得不好的指令碼佔盡伺服器資源。 預設設定為 30。

max_input_time

指令碼解析輸入資料(類似 post 和 get)允許的最大時間,單位是秒。

memory_limit

設定乙個指令碼可允許分配的最大記憶體值。預設128m。

還有一些,可自行發掘,就不一一枚舉了。。。。。。

3、mysql

mysql配置檔案:my.ini/my.cnf

skip-external-locking:忽略外部鎖定,老版本為skip-locking。external-locking用於多程序條件下為myisam資料表進行鎖定

skip-networking:只允許本地訪問資料庫

skip-name-resolve:禁用名稱解析。注意本地訪問的話就不能用localhost了,需要用ip位址訪問,對應的許可權授予也要相應改變。

根據記憶體和資料庫狀態具體調整下列配置選項:

key_buffer_size:設定myisam型別表的快取索引大小。

query_cache_size:設定快取select查詢結果的快取大小,如果你的表結構及資料不怎麼變動,那設定此引數效能會有很大提公升。

query_cache_limit:設定快取大小限制。意思就是如果查詢結果大於此值,則不進行快取。

還有max_allowed_packet、table_cache、thread_cache_size、sort_buffer_size、read_buffer_size、read_rnd_buffer_size、

join_buffer_size、tmp_table_size、max_tmp_tables、back_log、max_connections、wait_timeout等引數。

Apache PHP 的一些設定

可能會遇到 在虛擬主機 vps 上執行的apache伺服器不能重啟。當使用者訪問目錄時,apache檢測目錄下是否有index.default.等檔案,有的話返回這些檔案。沒有的話會根據顯示目錄或者返回錯誤資訊。具體如下圖所示。參考 預設情況下,apache服務會被windows防火牆攔截。1.控制...

mysql語句什麼或什麼 一些常用的mysql語句

1,檢視索引 show index from tablename show keys from tablename 2,新增索引 alter table tablename add index index name column list alter table tablename add uniq...

一些人,一些事,一些

我覺得這是國內it企業浮躁和傳統的官本位性質決定的,導致國內企業都本末倒置。要想改變命運,我覺得有以下出路 1.不做技術了,改做混混 混混的概念很廣泛的,比如銷售 經理 幹部 皮包公司之類其實都屬於這類。中國就是這樣,越浮越掙錢,只有混混才能發財。要不更進一步,做流氓,廣義的流氓,也很不錯。2.專心...