2017-06-06 42 views
6

Tôi hiện đang sử dụng thư viện xhprof được chia nhỏ theo số tideways.io để lập hồ sơ thực thi myscript.php. Từ xhprof, tôi có thể nhận được walltime, cputime, memoryusagepeakmemoryusage. Tôi đang cố gắng chuẩn bị một giao diện điều khiển symfony - vì vậy tôi thêm TIDEWAYS_ENABLE() vào số ConsoleCommandEventTIDEWAYS_DISABLE trên ConsoleTerminateEvent của nó.xác định lượng tài nguyên được sử dụng bởi tập lệnh php (phần trăm cpu và bộ nhớ)

Câu hỏi:

  1. Làm thế nào tôi có thể xác định xem myscript.php tiêu thụ bao nhiêu phần trăm của cpu? Tôi có thể chỉ tính phần trăm là cpuusage = cputime/realtime như đã nêu here on serverfault không?
  2. Cho một số memoryusage (mu)peakmemoryusage (pmu) từ xhprof profiler, làm cách nào để chuyển đổi hoặc tính toán sử dụng ram? (top kết quả hiển thị cao hơn nhiều so memoryusage nhưng bằng cách nào đó gần peakmemoryusage giá trị, vì vậy tôi có thể nói rằng ram sử dụng là giá trị của peakmemoryusage

Ghi chú:

  • Đó là khác nhau với How can I get the CPU and Memory useage này, bởi vì những gì tôi muốn không phải là system load. ps có thể nhiều scripts.php chạy cùng một lúc.

Trả lời

0

Tôi không chắc chắn những gì bạn muốn xác định bằng cách sử dụng dữ liệu, nhưng nếu bạn đang cố gắng thực hiện bất kỳ phân tích so sánh nào (ví dụ: "khi tôi xóa vòng lặp này, nhanh hơn 25% và sử dụng bộ nhớ ít hơn 10%") Tôi khuyên bạn nên sử dụng https://blackfire.io/.

Dễ cài đặt và dễ sử dụng. Nó cũng cung cấp phân tích so sánh tự động giữa các yêu cầu. Nó cũng thực hiện nhiều lần truyền nội bộ để đảm bảo rằng các yếu tố bên ngoài được tính trung bình.

Tôi thực sự không thể nói liệu dữ liệu sử dụng CPU và bộ nhớ có chính xác hay không. Nó chắc chắn là chính xác tương đối với các dữ liệu khác trong blackfire - vì vậy hoạt động tuyệt vời nếu bạn chỉ cần so sánh nó. Bạn nên dùng nó với một hạt muối nếu bạn cần số tuyệt đối mặc dù (bao nhiêu kịch bản như thế này là nó an toàn để chạy trên máy chủ 4GB?). Nhưng tôi muốn nói nó khá chính xác. Nó chắc chắn là tốt hơn nhiều so với profiller của xdebug.

+0

Thực ra tôi không có vấn đề gì để truy xuất 'cputime' - tôi đang sử dụng [xhprof] (https://github.com/tideways/php-profiler-extension) được chia nhỏ bởi [tideways.io] (https: //tideways.io) thay vì [blackfire.io] (https://blackfire.io). Điều gì làm cho tôi curios là nó có thể tính toán một 'script.php' cpu sử dụng giống như hiển thị trong lệnh như' top' hoặc 'htop' trong tỷ lệ phần trăm chỉ từ' cputime' giá trị? –

+0

oops, xin lỗi tôi hiểu lầm những gì bạn hỏi –

Các vấn đề liên quan