Hướng dẫn dùng php opcache trong PHP

OPcache là gì?

Mỗi khi bạn thực thi một tập lệnh PHP, tập lệnh cần được biên dịch thành bytecode. OPcache tận dụng bộ đệm cho bytecode này, vì vậy lần sau nếu vẫn là tập lệnh đó, nó không phải biên dịch lại lần nữa. Điều này có thể tiết kiệm một số thời gian thực hiện quý giá và do đó làm cho ứng dụng của bạn nhanh hơn [và có thể tiết kiệm một số chi phí máy chủ].

Những con số biết nói

Trước tiên chúng ta cần phải biết rõ về loại tối ưu mà chúng ta đang đề cập đến. Mặc dù cải thiện hiệu suất phụ thuộc nhiều vào cấu hình ứng dụng và máy chủ của bạn, tuy nhiên bên cạnh đó ta có thể dùng quick benchmark cho ví dụ lần này.

Vì vậy, mình đã tạo ra một DO droplet với 1 CPU, 1Gb RAM và chạy Apache Benchmark. Mình đã sử dụng luôn trang Wellcome mặc định của Laravel và để benchmark chạy trong vòng 1 phút với 10 request cùng một lúc:

OPcache disabled: 10.18 requests per second

Không quá chậm cho một máy chủ nhỏ như vậy, nhưng ta vẫn có thể làm nó nhanh hơn:

Enabled with default values: 34.52 requests per second

Bắt đầu có sự khác biệt, thử thêm lần nữa xem có nhanh hơn nữa không.

Enabled with optimized values: 42.53 requests per second

Giờ thì khác biệt chưa? =]]]

Làm sao để sử dụng nó?

Trước khi làm bất cứ điều gì, mình khuyên nên kiểm tra mọi thứ trước tiên trên môi trường development / staging trước khi thực hiện trên môi trường production.

Đầu tiên, ta cần đảm bảo OPcache được cài đặt trên máy chủ. Nếu bạn có cài đặt lại cấu hình máy chủ gần đây, có thể OPcache đã được cài đặt, vì nó đã được đưa vào sử dụng phổ biến hơn. Nếu bạn sử dụng Laravel Forge, nó đã được cài đặt và kích hoạt [ít nhất là trên các phiên bản gần đây].

Để kiểm tra xem OPcache đã được cài đặt chưa, ta chỉ cần chạy:

Chủ Đề