[Mẹo]PHP Performance: Kiểm soát việc sử dụng bộ nhớ scripts

Đăng ngày: 10 Tháng 10 2012
Đánh giá bài này
(0 bình chọn)
tip php tip php

Performance là một vấn đề liên tục được đề cập tới trong các ứng dụng được xây dựng với PHP. Vì PHP là 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 hiện vẫn còn thiếu Performance.

Tôi sẽ chỉ 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ử dụng Debug and tách biệt các đoạn script lỗi để xử lý.

Đ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 năng rất hữu ích PHP tự nhiên mang lại từ phiên bản 4: memory_get_peak_usage () và từ phiên bản 5: memory_get_peak_usage_peak ().

Làm thế nào? tốt, 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 trọng 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, là để đo lường sử dụng bộ nhớ tại thời điểm hiện thời và cái khác thì chỉ cần đo trên việc sử dụng trong script. Các giá trị của lần đầu tiên có thể dao động giữa quá trình thực hiện 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 xé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 thấy 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 hoặc 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 một cách hợp lý.

Xuân Trung

Gửi bình luận

Hãy nhập đầy đủ các thông tin yêu cầu trong ô có dấu (*). Không được phép sử dụng mã HTML.

LIKE để ủng hộ bạn nhé!

 

Tham gia diễn đàn seo hàng đầu Việt Nam

Has no content to show!