10/10/2018, 09:51

PHP - Kiểm tra mức độ sử dụng CPU ?

mình có 2 đoạn code, muốn kiểm tra xem đoạn nào chạy tối ưu, tốn ít cpu hơn thì làm cách nào nhỉ :-?

liệu cách tính toán thời gian thực hiện (micro second) có cho biết được đoạn code nào tối ưu hơn ko

Thanks
thuyduongcd viết 11:57 ngày 10/10/2018
Dùng cái này để "đo" tốc độ xử lý của 2 cái rồi so sánh:
http://www.free-webhosts.com/php-benchmark-script.php
phuongthom viết 11:58 ngày 10/10/2018
cái trên ko hỉu dùng kỉu gì :-?

mà mình muốn tính toán như hình dưới đây, thì làm thế nào
/pictures/picfullsizes/2018/10/10/yze1539140258.png
dungpt2003 viết 11:52 ngày 10/10/2018
dùng xdebug cũng có được nhiều thông tin về code, mem đó
thanggky viết 11:58 ngày 10/10/2018
Ai có thể chỉ cho mình cách làm sao khi nhập giá nó tự thêm dấu "," đằng trước 3 số đằng sau như này ko ạ? ví dụ : "12,300" .Ai giúp với
pcdinh viết 12:00 ngày 10/10/2018
Được gửi bởi phuongthom
mình có 2 đoạn code, muốn kiểm tra xem đoạn nào chạy tối ưu, tốn ít cpu hơn thì làm cách nào nhỉ :-?

liệu cách tính toán thời gian thực hiện (micro second) có cho biết được đoạn code nào tối ưu hơn ko

Thanks
Cách 1

Dùng PHP microtime() để benchmark như bình thường

Cách 2

Dùng time của Linux để đo CPU execution time
tuanit85 viết 11:57 ngày 10/10/2018
Được gửi bởi thanggky
Ai có thể chỉ cho mình cách làm sao khi nhập giá nó tự thêm dấu "," đằng trước 3 số đằng sau như này ko ạ? ví dụ : "12,300" .Ai giúp với
PHP Code:
$num 123456789;
echo 
number_format($num,0,'',','); 
Output
Code:
123,456,789
langtuIT viết 12:01 ngày 10/10/2018
Được gửi bởi phuongthom
cái trên ko hỉu dùng kỉu gì :-?

mà mình muốn tính toán như hình dưới đây, thì làm thế nào
/pictures/picfullsizes/2018/10/10/vmn1539140259.png
Theo mình biết thì trên linux, để làm được cái biểu đồ như thế thì không thể sử dụng PHP được mà phải monitor trên server bằng các tool monitor thôi. Bởi vì trên Linux, mỗi 1 script sẽ tạo 1 tiến trình(process) riêng, do đó, để track lượng cpu usage chung cho 1 thời điểm mà bằng PHP trên server hầu như là không hiệu quả (miễn cưỡng không có hạnh phúc ^^) bởi vì cơ chế multi-process của hệ thống. Tuy nhiên, nếu muốn lấy chút ít thông tin khác thì sử dụng hàm memory_get_usage() hoặc memory_get_peak_usage() để xem script hiện tại đã "ngốn" bao nhiêu RAM, sau đó muốn log hay lưu đâu đó thì làm thôi.
phuongthom viết 11:51 ngày 10/10/2018
Được gửi bởi langtuIT
Theo mình biết thì trên linux, để làm được cái biểu đồ như thế thì không thể sử dụng PHP được mà phải monitor trên server bằng các tool monitor thôi. Bởi vì trên Linux, mỗi 1 script sẽ tạo 1 tiến trình(process) riêng, do đó, để track lượng cpu usage chung cho 1 thời điểm mà bằng PHP trên server hầu như là không hiệu quả (miễn cưỡng không có hạnh phúc ^^) bởi vì cơ chế multi-process của hệ thống. Tuy nhiên, nếu muốn lấy chút ít thông tin khác thì sử dụng hàm memory_get_usage() hoặc memory_get_peak_usage() để xem script hiện tại đã "ngốn" bao nhiêu RAM, sau đó muốn log hay lưu đâu đó thì làm thôi.
Cảm ơn bạn

Mình có 1 thắc mắc nữa
PHP
có cách nào để 1 function nhận tất cả các biến ở ngoài nó ko, chứ phải global tất cả thì mệt với lại dễ bỏ xót quá
TheHeTre viết 11:58 ngày 10/10/2018
Được gửi bởi phuongthom
Cảm ơn bạn

Mình có 1 thắc mắc nữa
PHP
có cách nào để 1 function nhận tất cả các biến ở ngoài nó ko, chứ phải global tất cả thì mệt với lại dễ bỏ xót quá
Không nên thiết kế phần mềm theo cách này. Các hàm được viết nên sử dụng các biến bằng cách truyền tham số vào.

Về global tất cả có lẽ bạn tham khảo $GLOBALS. Nếu bắt buộc làm theo cách bạn nghĩ có thể dùng nó như một mảng toàn cục.
Bài liên quan
0