Khắc phục lỗi File I/O khi Build

Build chậm hoặc fail với lỗi I/O.

buildio

File I/O Issues khi Build

Triệu chứng

  • Build phase ARCHIVE chạy rất chậm
  • Fail với "Cannot open file" / "Disk read error"
  • Build dừng ở giữa chừng (50-80%) không tiến triển
  • Server load tăng cao

Nguyên nhân và cách fix

1. Disk chậm

Build phải đọc hàng trăm nghìn file → tốc độ IOPS quan trọng hơn bandwidth. SSD nhanh hơn HDD nhiều lần. Trên shared hosting, anh không kiểm soát được — có thể chuyển sang hosting có SSD nếu cần.

2. Quá nhiều file nhỏ

Site có vài trăm nghìn file ảnh nhỏ → metadata IOPS trở thành bottleneck. PHP ZipArchive rất chậm với pattern này.

Fix:

  • Chuyển sang DupArchive engine (default)
  • Loại trừ folder cache nhiều file:
    • wp-content/cache/
    • wp-content/uploads/cache/
    • wp-content/litespeed/
    • Folder cache của plugin caching đang dùng

3. Tmp folder không đủ disk

Build extract tạm vào wp-content/backups-slm/tmp/. Cần disk free >= 2× kích thước site.

Kiểm tra disk free trước khi build.

4. Quá nhiều process đồng thời

Web server workers + database queries + build process → cạnh tranh IOPS.

Fix: Build vào giờ thấp điểm. Tạm tắt cron jobs nặng khác trong khi build.

5. File bị lock bởi process khác

Antivirus, search indexer, hoặc plugin khác đang lock file → build skip + log warning.

Tối ưu PHP

Trên server có quyền chỉnh PHP:

realpath_cache_size = 256K
realpath_cache_ttl = 600
opcache.enable = 1
opcache.memory_consumption = 256

Tham khảo