
Trả lời nhanh: Mỗi phiên trình duyệt trong test chiếm khoảng 300 tới 500MB RAM và ghi rất nhiều file tạm: bộ nhớ đệm trình duyệt, ảnh chụp màn hình, video ghi lại, dấu vết gỡ lỗi. Chạy bốn worker song song nghĩa là bốn trình duyệt cùng ghi. Vì vậy cấu hình cần tính theo số worker: khoảng 1GB RAM mỗi worker cộng phần cho hệ điều hành, và ổ NVMe để việc ghi file tạm không thành nút thắt.
Bộ test chạy trên máy cá nhân mất hai phút, đưa lên máy chủ mất tám phút. Máy chủ không yếu hơn, nhưng ổ đĩa của nó thì có thể.
- Mỗi phiên trình duyệt chiếm 300 tới 500MB RAM.
- Test ghi rất nhiều file tạm: bộ nhớ đệm, ảnh, video, dấu vết.
- Tính khoảng 1GB RAM cho mỗi worker song song.
- Tắt ghi video khi không cần, đây là thứ ăn ổ đĩa nhiều nhất.
Test trình duyệt ghi những gì
- Bộ nhớ đệm của trình duyệt cho từng phiên.
- Ảnh chụp màn hình khi test thất bại.
- Video ghi lại quá trình chạy nếu bật.
- Dấu vết gỡ lỗi, đây là loại file rất nặng.
- File tải xuống nếu kịch bản test có thao tác tải file.
Cộng lại, một bộ test vài trăm kịch bản có thể ghi hàng GB dữ liệu tạm mỗi lượt chạy. Trên ổ chậm, phần ghi này trở thành nút thắt và các worker phải chờ nhau.
Tính tài nguyên theo số worker
| Số worker | RAM nên có | Ghi chú |
|---|---|---|
| 1 | 2GB | Chậm nhưng chắc |
| 2 | 4GB | Cân bằng cho dự án nhỏ |
| 4 | 6 tới 8GB | Phổ biến cho dự án vừa |
| 8 | 12GB trở lên | Cần ổ NVMe, nếu không sẽ tắc ở ổ |
Thiếu RAM khi chạy nhiều worker dẫn tới trình duyệt bị hệ thống tắt giữa chừng, và test thất bại với lỗi khó hiểu không liên quan gì tới mã của bạn. Đây là nguồn gốc của rất nhiều test bị coi là chập chờn.
Bốn cách giảm thời gian chạy
- Tắt ghi video, chỉ bật khi test thất bại. Đây là thay đổi hiệu quả nhất, video là thứ ăn ổ đĩa nhiều nhất.
- Dùng chế độ không giao diện. Nhẹ hơn đáng kể so với chạy có cửa sổ.
- Dùng lại trạng thái đăng nhập. Đăng nhập lại ở mỗi kịch bản là lãng phí lớn.
- Đặt thư mục kết quả trên ổ nhanh và dọn sau mỗi lượt.
Test chập chờn và tài nguyên
Một điều đáng nói: nhiều test bị gắn nhãn chập chờn thực ra là nạn nhân của máy quá tải. Khi máy chậm, thao tác chờ phần tử xuất hiện dễ vượt quá thời gian cho phép và test thất bại ngẫu nhiên.
Trước khi sửa mã test, hãy thử giảm số worker hoặc chạy trên máy có ổ nhanh hơn. Không ít trường hợp test tự hết chập chờn mà không cần sửa dòng nào.
Kiểm thử trình duyệt ghi những gì xuống ổ
| Thứ được ghi | Kích thước điển hình | Có cần giữ không |
|---|---|---|
| Ảnh chụp màn hình khi kiểm thử thất bại | vài trăm KB mỗi ảnh | Cần, nhưng chỉ giữ vài lần chạy gần nhất |
| Video ghi lại phiên kiểm thử | vài MB tới vài chục MB mỗi lần | Chỉ bật khi cần gỡ lỗi |
| Tệp dấu vết chi tiết | có thể rất lớn | Chỉ bật khi kiểm thử thất bại |
| Hồ sơ trình duyệt tạm cho mỗi phiên | vài chục MB mỗi phiên | Không, xóa sau mỗi lần chạy |
| Bản tải trình duyệt | vài trăm MB | Giữ, nhưng dùng chung giữa các lần chạy |
Cấu hình mặc định của nhiều dự án bật ghi video và dấu vết cho mọi lần chạy. Với bộ kiểm thử vài trăm ca chạy nhiều lần mỗi ngày, đây là nguyên nhân số một làm đầy ổ đĩa.
Tính tài nguyên theo số tiến trình song song
# Moi tien trinh chay mot trinh duyet rieng, moi trinh duyet an
# khoang 300 MB den 1 GB bo nho tuy trang duoc kiem thu
# Do that trong luc chay
watch -n2 'free -h; ps -eo rss,comm --sort=-rss | head -8'
# Dat so tien trinh theo bo nho, khong theo so nhan
# May 8 GB: khoang 4 den 6 tien trinh
# May 16 GB: khoang 8 den 12
# Chi bat ghi video va dau vet khi that bai, khong bat mac dinh
# Don ket qua cu tu dong
find ./test-results -type d -mtime +7 -exec rm -rf {} + 2>/dev/null
du -sh ./test-results ./playwright-report 2>/dev/nullCắt thời gian chạy bộ kiểm thử
- Chỉ ghi video và dấu vết khi kiểm thử thất bại. Đây là thay đổi cho hiệu quả lớn nhất và không mất gì.
- Tăng số tiến trình song song tới mức bộ nhớ cho phép, nhưng đừng vượt, vì hết bộ nhớ làm kiểm thử thất bại ngẫu nhiên.
- Dùng ổ NVMe. Mỗi phiên trình duyệt tạo và xóa rất nhiều tệp nhỏ, đúng thế mạnh của ổ này.
- Tách nhóm kiểm thử: nhóm nhanh chạy mỗi lần đẩy mã, nhóm đầy đủ chạy ban đêm.
Kiểm thử chập chờn và tài nguyên
Một điểm ít người nối lại: kiểm thử thất bại ngẫu nhiên thường không phải lỗi mã, mà là máy thiếu tài nguyên. Khi bộ nhớ gần cạn hoặc ổ đĩa nghẽn, thời gian phản hồi vượt ngưỡng chờ và kiểm thử báo lỗi. Trước khi đi sửa mã kiểm thử, hãy chạy lệnh theo dõi ở trên trong lúc bộ kiểm thử chạy.
Câu hỏi thường gặp
Playwright cần bao nhiêu RAM?
Khoảng 1GB cho mỗi worker song song, cộng phần cho hệ điều hành. Bốn worker thì nên có 6 tới 8GB.
Vì sao test chạy trên máy chủ chậm hơn máy cá nhân?
Thường vì ổ đĩa chậm hơn, do test ghi rất nhiều file tạm. Cũng có thể do số worker đặt quá cao so với tài nguyên.
Làm sao giảm dung lượng test ghi ra?
Tắt ghi video mặc định và chỉ giữ dấu vết gỡ lỗi khi test thất bại. Hai thay đổi này giảm phần lớn lượng ghi.
Test chập chờn có liên quan tài nguyên không?
Có, khá thường xuyên. Máy quá tải làm thao tác chờ vượt thời gian cho phép và test thất bại ngẫu nhiên.
Bài viết liên quan
- Setup Wren AI NL-to-SQL self-host cho dev VPS
- Self-host Cal.com trên VPS thay Calendly cho freelancer VN
- Docker là gì? Container giải thích cho người mới bắt đầu
- OpenClaw Live Canvas: dùng AI agent vẽ + render trực quan workspace của bạn
- Whitelist IP cho VPS, API và database bằng ip.tnd.vn
- Setup Uptime Kuma trên VPS: monitor 20 endpoint free đẹp hơn UptimeRobot



