[Mẹo]PHP Performance:
Kiểm soát việc sử dụng
bộ nhớ scripts
tip php
Performance một vấn đề liên tục được đề cập tới trong các ứng dụng được
xây dng với PHP.Vì PHP một ngôn ngữ kịch bản chưa được tối ưu hóa.
Hầu hết các Framework trên thị trường cung cấp một loạt các tính năng giúp
lập trình viên làm việc. Tuy nhiên điều này được thực hin vẫn còn thiếu
Performance.
Tôi schỉ cung cấp một tập hợp các bài viết làm thế nào để tạo ra các scripts
nhẹ hơn, hiệu quả hơn, chắc chắn hơn, tốt hơn.
Một trong những sự đau đầu của các Developer đó là Fatal error : Out of
memory (allocated one zillion) (tried to allocate 1024 bytes).
Những lỗi như vậy các bạn cần xem xét , sử dng Debug and tách biệt các
đoạn script lỗi để xử .
Đo lường lượng bộ nhớ được sử dụng qua các Scripts của bạn.
Cách tốt nhất để xử lý tiêu thụ bộ nhớ scripts của bạn hoặc thực hiện ứng
dụng của bạn là để đo lường script qua sử dụng bộ nhớ của bạn bằng cách s
dụng các chức ng rất hữu ích PHP tnhiên mang lại từ phiên bn 4:
memory_get_peak_usage () và từ phiên bn 5:
memory_get_peak_usage_peak ().
Làm thế nào? tt, chỉ ra các giá trị trả về từ các function được checkpoints
trên các script của bạn. Hãy thử thay đổi checkpoints với những cấu trúc
quan trng trong code của bạn. Đi sâu hơn trong các function và các class
nếu không cần thiết và luôn luôn phải clean trên cửa sổ output khi begin
running và stop running.
Mục đích của các chức năng này là khá rõ ràng, để đo lường sử dụng b
nhớ tại thời điểm hiện thời và cái khác t chỉ cần đo trên việc sử dụng trong
script. Các giá trị của ln đầu tiên có thể dao động giữa quá trình thực hin
và cái khác sđược duy trì tối đa bộ nhớ được sử dụng bởi các script từ đầu.
Vì vậy tìm checkpoints chính trong script của bạn, ví dụ như tôi thường sử
dụng vào bất kỳ một thời điểm trước và sau của mỗi cycle, khởi tạo classess,
non-native PHP functions, và bất kỳ điều gì khác mà bạn có thể xem t.
Ví dụ:
echo '
';
echo 'Memory consumption BEFORE listing model is loaded: ';
echo memory_get_usage(true). ' bytes';
echo 'Memory peak consumption BEFORE listing model is loaded: ';
echo memory_get_usage_peak(true). ' bytes';
echo '
';
echo '
';
echo 'Memory consumption AFTER listing model is loaded: ';
echo memory_get_usage(true). ' bytes';
echo 'Memory peak consumption AFTER listing model is loaded: ';
echo memory_get_usage_peak(true). ' bytes';
echo '
';
Hầu hết thời gian trong các trường hợp bạn sẽ tìm thy sự logic được tăng
lên của bộ nhớ. Điều này tăng lên liệu có tốt. Ví dụ: nếu bạn loading một
model từ một cái Framework tăng hơn 10 MB, xem xét kỹ cho thấy nó sẽ
làm mỏng đi model đó bằng sự phá hủy hoc bạn nên có giải pháp thay thế
khác.
Tối ưu hóa bộ nhớ đang trở nên tồi tệ hơn nếu bạn chưa biết tối ưu hóa b
nhớ của mình