Hướng dẫn hiệu năng
Mục đích
Đưa ra khuyến nghị để đạt hiệu năng tốt khi lưu trữ/xử lý sự kiện và gửi proof.
Nguyên tắc
- Tối ưu cấu trúc dữ liệu: sử dụng Arrow cho lưu trữ cột.
- Giảm chi phí IO/serialize: nhóm sự kiện theo lô, tránh payload nhị phân lớn trong
data. - Dùng cache hợp lý: L1 trong bộ nhớ, L2 bền vững nếu cần.
Thiết lập liên quan (trích config/settings.py)
ADVANCED_CACHING_ENABLED: bật cache nâng cao.BLOCK_CACHE_SIZE,EVENT_CACHE_SIZE,ENTITY_CACHE_SIZE: kích thước cache.- Chính sách:
BLOCK_CACHE_POLICY(lru/lfu/fifo/ttl),EVENT_CACHE_POLICY,ENTITY_CACHE_POLICY. - Xử lý song song:
PARALLEL_PROCESSING_ENABLED,MAX_WORKERS,PROCESSING_CHUNK_SIZE.
Khuyến nghị
- Điều chỉnh batch size theo tải thật (ví dụ 100–1000 sự kiện/batch).
- Bật
PARALLEL_PROCESSING_ENABLEDkhi có nhiều CPU; đểMAX_WORKERS=Noneđể tự chọn theo 50% số lõi. - Dùng Arrow để giảm overhead chuyển đổi; tránh chuyển đổi qua lại nhiều lần.
Benchmark tối thiểu
- Ghi 10k sự kiện và đo thời gian: Chạy thử nghiệm tải cơ bản.
- Điều chỉnh cấu hình: Thử thay đổi các tham số
PROCESSING_CHUNK_SIZE,EVENT_CACHE_POLICY. - So sánh kết quả: Đo lường throughput (events/sec) và độ trễ (latencies p50/p95).
Quan sát hệ thống
- Dùng
monitoring/performance_monitor.pyđể lấy metrics CPU/RAM. - Bật
ResourceGuardMiddlewaređể shed load trong đỉnh tải.