首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 服務器優化實戰:為 MySQL/phpMyAdmin 構建高性能環境

     編輯:MySQL 資料庫相關知識

從硬件到內核的全鏈路優化

本文記錄在 RedHat 6.2 上部署 MySQL + phpMyAdmin 的完整優化過程,涵蓋網絡、內核參數、服務精簡,可作為歷史版本 Linux 數據庫服務器調優參考。

硬件與基礎環境

  • 硬盤:9.2 GB / 內存:128 MB / 網卡:EEpro 100
  • OS:RedHat 6.2 (內核 2.2.x)
  • 目標:穩定運行 MySQL + phpMyAdmin

網絡與 DNS 優化

/etc/hosts:
202.104.131.100 info.langoit.com.cn info

/etc/named.conf:
options {
    directory "/var/named";
    forwarders { 202.104.131.98; };
    forward only;
};
zone "." { type hint; file "named.ca"; };
zone "0.0.127.in-addr.arpa" { type master; file "named.local"; };

/etc/resolv.conf:
search langoit.com.cn
nameserver 202.104.131.98
nameserver 202.96.134.133

系統服務精簡

cd /etc/rc.d/init.d
./sendmail stop; ./apmd stop; ./kudzu stop
rpm -e --nodeps sendmail kudzu nfs-utils

內核參數調優(需重新編譯內核)

/usr/src/linux/include/linux/tasks.h:
NR_TASKS 5120      # 進程上限
MIN_TASKS_LEFT_FOR_ROOT 24  # root 保留進程數

/usr/src/linux/Makefile:
HOSTCC = egcs
CC = $(CROSS_COMPILE)egcs -D__KERNEL__ -I$(HPATH)
CFLAGS = -Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions
HOSTCFLAGS = -Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro

注意:現代 Linux 發行版無需手動編譯內核,可通過 /etc/sysctl.conf 動態調整參數。

MySQL 專項優化建議

  • my.cnf 關鍵參數:
    key_buffer_size = 32M
    table_cache = 256
    sort_buffer_size = 4M
    query_cache_size = 16M
  • 啟用慢查詢日誌:log_slow_queries = /var/log/mysql/slow.log
  • 定期運行 myisamchk -r /var/lib/mysql/*.MYI 整理索引

phpMyAdmin 部署提示

  • 配置 config.inc.php 中的 $cfg['Servers'][$i]['auth_type'] = 'cookie';
  • 設置 blowfish_secret 加密 Cookie
  • 限制訪問 IP:Apache <Location /phpmyadmin> Order Deny,Allow Deny from all Allow from 192.168.1.0/24 </Location>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved