Bạn cũng có thể thực hiện hồ sơ PHP, sử dụng bất kỳ trình biên dịch nào. Sở thích của tôi là XDebug:
http://www.xdebug.org/docs/profiler
Nó không yêu cầu bạn thay đổi bất kỳ tập lệnh nào.
Điều này sẽ nhanh chóng chỉ ra các nút thắt cổ chai; Nó cũng sẽ giúp với phần MySQL. Mặc dù MySQL có báo cáo riêng, nhưng bạn có thể gặp tình huống trong đó tập lệnh thực hiện cùng một truy vấn (nhanh) trong 1000 lần liên tiếp. MySQL sẽ không báo cáo điều này, nhưng bạn nhận thấy từ XDebug rằng một chức năng đã được gọi nhiều lần cho chỉ một trang.
Bạn có thể làm một khảo sát ban đầu trên một máy chủ dev; bất kỳ vấn đề tối ưu hóa sẽ hiển thị một cách nhanh chóng. Từ nhật ký sản xuất của bạn, hãy tìm ra những trang được truy cập nhiều nhất và phân tích chúng đầu tiên trên máy chủ dev.
Nếu bạn vẫn cần thực hiện hồ sơ trên máy chủ sản xuất, hãy xem xét bật ngẫu nhiên cho một tập hợp con các yêu cầu để giảm thiểu tải. Từ các tài liệu:
Bạn cũng có thể chọn lọc kích hoạt trình biên dạng với cài đặt xdebug.profiler_enable_trigger được đặt thành 1. Nếu được đặt thành 1, thì bạn có thể bật trình lược tả bằng cách sử dụng biến GET / POST hoặc COOKIE của tên XDEBUG_PROFILE
Apache mod_rewrite sẽ giúp thêm biến GET một cách trong suốt mà không được truyền đến / từ người dùng.