LAMP 系統(tǒng)性能調(diào)優(yōu)之配置磁盤(pán)
圖-LAMP
LAMP系統(tǒng)調(diào)優(yōu)配置磁盤(pán)來(lái)提高性能
磁盤(pán)在 LAMP 架構(gòu)中扮演著重要的角色。靜態(tài)文件、模板和代碼都來(lái)自磁盤(pán),組成數(shù)據(jù)庫(kù)的數(shù)據(jù)表和索引也來(lái)自磁盤(pán)。對(duì)磁盤(pán)的許多調(diào)優(yōu)(尤其是對(duì)于數(shù)據(jù)庫(kù))集中于避免磁盤(pán)訪問(wèn),因?yàn)榇疟P(pán)訪問(wèn)的延遲相當(dāng)高。因此,花一些時(shí)間對(duì)磁盤(pán)硬件進(jìn)行優(yōu)化是有意義的。
首先要做的是,確保在文件系統(tǒng)上禁用 atime 日志記錄特性。atime 是最近訪問(wèn)文件的時(shí)間,每當(dāng)訪問(wèn)文件時(shí),底層文件系統(tǒng)必須記錄這個(gè)時(shí)間戳。因?yàn)橄到y(tǒng)管理員很少使用 atime,禁用它可以減少磁盤(pán)訪問(wèn)時(shí)間。禁用這個(gè)特性的方法是,在 /etc/fstab 的第四列中添加 noatime 選項(xiàng)。清單 3 給出了一個(gè)配置示例。
清單 3. 演示如何啟用 noatime 的 fstab 示例
- /dev/VolGroup00/LogVol00 / ext3 defaults,noatime 1 1
- LABEL=/boot /boot ext3 defaults,noatime 1 2
- devpts /dev/pts devpts gid=5,mode=620 0 0
- tmpfs /dev/shm tmpfs defaults 0 0
- proc /proc proc defaults 0 0
- sysfs /sys sysfs defaults 0 0
- LABEL=SWAP-hdb2 swap swap defaults 0 0
- LABEL=SWAP-hda3 swap swap defaults 0 0
在清單 3 中只修改了 ext3 文件系統(tǒng),因?yàn)?noatime 只對(duì)駐留在磁盤(pán)上的文件系統(tǒng)有幫助。為讓這一修改生效,不需要重新引導(dǎo);只需重新掛裝每個(gè)文件系統(tǒng)。例如,為了重新掛裝根文件系統(tǒng),運(yùn)行 mount / -o remount。
有多種磁盤(pán)硬件組合,而且 Linux 不一定能夠探測(cè)出訪問(wèn)磁盤(pán)的最佳方式??梢允褂?hdparm 命令查明和設(shè)置用來(lái)訪問(wèn) IDE 磁盤(pán)的方法。hdparm -t /path/to/device 執(zhí)行速度測(cè)試,可以將這個(gè)測(cè)試結(jié)果作為性能基準(zhǔn)。為了使結(jié)果盡可能準(zhǔn)確,在運(yùn)行這個(gè)命令時(shí)系統(tǒng)應(yīng)該是空閑的。清單 4 給出在 hda 上執(zhí)行速度測(cè)試的結(jié)果。
#p#
清單 4. 在 /dev/hd 上執(zhí)行的速度測(cè)試
- # hdparm -t /dev/hda
- /dev/hda:
- Timing buffered disk reads: 182 MB in 3.02 seconds = 60.31 MB/sec
這一測(cè)試說(shuō)明,在這個(gè)磁盤(pán)上讀取數(shù)據(jù)的速度是大約每秒 60 MB。
在嘗試一些磁盤(pán)調(diào)優(yōu)選項(xiàng)之前,必須注意一個(gè)問(wèn)題。錯(cuò)誤的設(shè)置可能損害文件系統(tǒng)。有時(shí)候會(huì)出現(xiàn)一個(gè)警告,指出這個(gè)選項(xiàng)與硬件不兼容;但是,有時(shí)候沒(méi)有警告消息。因此,在將系統(tǒng)投入生產(chǎn)之前,必須對(duì)設(shè)置進(jìn)行徹底的測(cè)試。在所有服務(wù)器上都采用標(biāo)準(zhǔn)的硬件也會(huì)有所幫助。
表 2 列出比較常用的一些選項(xiàng)。
表 2. hdparm 的常用選項(xiàng)
選項(xiàng)描述
-vi向磁盤(pán)查詢它支持的設(shè)置以及它正在使用的設(shè)置。
-c查詢/啟用 (E)IDE 32 位 I/O 支持。hdparm -c 1 /dev/hda 啟用這個(gè)設(shè)置。
-m查詢/設(shè)置每中斷多扇區(qū)模式。如果設(shè)置大于零,設(shè)置值就是每個(gè)中斷可以傳輸?shù)淖畲笊葏^(qū)數(shù)量。
-d 1 -X啟用直接內(nèi)存訪問(wèn)(DMA)傳輸并設(shè)置 IDE 傳輸模式。hdparm 手冊(cè)頁(yè)詳細(xì)說(shuō)明了在 -X 后面可以設(shè)置的數(shù)字。只有在 -vi 說(shuō)明目前并未使用最快速的模式的情況下,才需要進(jìn)行這個(gè)設(shè)置。
不幸的是,對(duì)于 Fiber Channel and Small Computer Systems Interface(SCSI)系統(tǒng),調(diào)優(yōu)依賴于具體的驅(qū)動(dòng)器。
必須將有幫助的設(shè)置添加到啟動(dòng)腳本中,比如 rc.local。
通過(guò)文章的描述,我們都能親自動(dòng)手,配置下自己LAMP下的磁盤(pán),調(diào)優(yōu)好LAMP,讓它更好的為你服務(wù)!
【編輯推薦】
- LAMP 系統(tǒng)性能調(diào)優(yōu)之內(nèi)核調(diào)優(yōu)措施
- LAMP 系統(tǒng)性能調(diào)優(yōu)之度量性能
- LAMP 系統(tǒng)性能調(diào)優(yōu)之理解 LAMP 架構(gòu)
- LAMP網(wǎng)站架構(gòu)方案解剖
- LAMP系統(tǒng)優(yōu)化
- LAMP的平臺(tái)組成
- lamp的起源