SSD 替換 HDD:SSD 的(de)隨機讀(du)寫性能比(bi) HDD 快 100 倍(bei)以上,優先將系統盤和頻繁讀(du)寫的(de)目錄(如網(wang)站根目錄、數據庫文(wen)件(jian))遷(qian)移至(zhi) SSD。
NVMe SSD:相比 SATA SSD,NVMe SSD 通(tong)過 PCIe 通(tong)道傳(chuan)輸數據,帶寬可達(da) 3500MB/s 以(yi)上,適(shi)合高并發(fa)讀(du)寫(xie)場景。
# 創建RAID 10示例(需mdadm工具)mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
# 掛載512MB內存盤到/tmpmount -t tmpfs -o size=512m tmpfs /tmp
# 格式化為XFSmkfs.xfs /dev/sda1
# 掛載時禁用日志mount -o noatime,data=writeback /dev/sda1 /mnt
# /etc/fstab 中添加以下參數(根據場景調整)noatime # 禁用訪問時間更新nodiratime # 禁用目錄訪問時間更新discard # 啟用TRIM(SSD專用)barrier=0 # 禁用磁盤寫入屏障(SSD推薦)
不同硬盤類型適用不同調度算法:
# 查看當前調度器cat /sys/block/sda/queue/scheduler# 臨時修改調度器echo mq-deadline > /sys/block/sda/queue/scheduler# ..修改(添加到 /etc/rc.local)echo mq-deadline > /sys/block/sda/queue/scheduler
# 增大文件描述符限制
fs.file-max = 1048576
# 調整VM參數
vm.dirty_ratio = 60 # 臟頁占比上限(觸發回寫)
vm.dirty_background_ratio = 20 # 后臺回寫臟頁占比
vm.swappiness = 10 # 減少內存交換
vm.vfs_cache_pressure = 50 # 保留更多dentry/inode緩存
應用參數:sysctl -p
# /etc/security/limits.conf 添加* hard nofile 1048576* soft nofile 1048576root hard nofile 1048576root soft nofile 1048576
# 啟用FastCGI緩存(針對PHP站群)fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=phpcache:100m inactive=60m;fastcgi_cache_key "$scheme$request_method$host$request_uri";server {
location ~ \.php$ {
fastcgi_cache phpcache;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 404 1m;
}}
將高頻訪問的數據(如數據庫查詢結果、用戶會話)存入內存緩存:
# 使用Redis緩存示例(Python)import redis
r = redis.Redis(host='localhost', port=6379)data = r.get('cache_key') or db.query(...)
# 定期執行TRIM(需支持ATA指令集)fstrim -a# 檢查SSD健康狀態smartctl -a /dev/sda
iostat:監控磁盤 IOPS 和吞吐量
iostat -x 1 # 每秒顯示一次詳細IO統計
iotop:實(shi)時監控進程 IO 消耗
將 innodb_log_file_size
設為 2G 以上(減少日志寫入次(ci)數)
配置 innodb_flush_log_at_trx_commit=2
(犧(xi)牲部分持久性提升性能)
將(jiang)數據文件和(he)日志文件分別(bie)放在不同物理磁盤
# 使用dd測試順序讀寫dd if=/dev/zero of=testfile bs=1M count=1000 conv=fdatasync # 寫測試dd if=testfile of=/dev/null bs=1M count=1000 # 讀測試# 使用fio測試隨機讀寫fio --name=randwrite --ioengine=libaio --rw=randwrite --bs=4k --size=1G --numjobs=16 --iodepth=32 --runtime=60 --group_reporting
通過 vmstat
、pidstat
等工具對比優化前后的系統負載:
vmstat 1 # 每秒顯示一次系統狀態pidstat -u -d 1 # 監控進程CPU和IO使用
硬盤性能優化需結合硬件升級與軟件調優:
硬件(jian)優先:SSD 是提(ti)升(sheng) IOPS 的核心,NVMe+RAID10 組合(he)可滿足..性能需求
系統層調優:合理(li)配(pei)置文件系統、I/O 調度器及內核參(can)數
應(ying)用層緩(huan)存(cun):利用 Nginx、Redis 等(deng)減少(shao)磁(ci)盤訪問
持續監控:通(tong)過工具(ju)驗證優化效(xiao)果(guo)并調整策略
針(zhen)對站群場景,建議重(zhong)點優化 Nginx 緩(huan)存策(ce)略和(he)數據庫 IO 配置(zhi),同時定期(qi)執行磁盤維護以保持性能(neng)。
(聲明:本文來源于網絡,僅(jin)供參考閱讀,涉及侵權(quan)請聯系我們刪除(chu)、不代(dai)表任(ren)何立場以(yi)及觀點。)