Reference - Sử dụng autocannon benchmarking tool để testing performance

 

Ok, như bài trước có nói sơ qua Sử dụng ab - Apache HTTP server benchmarking tool để testing performance, hôm nay sẽ nói về tool mình hay dùng cũng liên quan benchmarking đó là autocannon.


Reference - Sử dụng autocannon benchmarking tool để testing performance


Do đi làm có dính đến dự án Nodejs nên hầu như thích sử dụng tool này, nói sơ về nó thì là công cụ benchmarking viết bằng Nodejs nên sử dụng nó trong dự án khá là tiện lợi. OK đi vào chém gió sơ về nó nhé, cách làm thì cũng tương tự như bài trước, chém gió sơ sơ về các tiện ích thôi :)


Reference - Sử dụng autocannon benchmarking tool để testing performance



Trước tiên muốn giải quyết bài toán nào thì sẽ step by step để biết cái tool nó sẽ làm gì trước, khi biết nó rồi thì cứ tính lên mà dùng :)


Check sơ về help thì nó cũng khá đơn giản vì đã chú thích hầu như tận răng rồi :)


Reference - Sử dụng autocannon benchmarking tool để testing performance

Ban đầu chỉ cần 3 tham số sau là đủ để test, tham số này hầu như sẽ theo bạn trong suốt quá trình testing


c/--connections NUM
        The number of concurrent connections to use. default: 10.
  -p/--pipelining NUM
        The number of pipelined requests to use. default: 1.
  -d/--duration SEC
        The number of seconds to run the autocannon. default: 10.


Có thể xem con số default của nó để đưa ra cách tính cho riêng mình, OK,test xem 1 connect đại diện một người dùng thì nó request được bao nhiêu. Đối với autocannon nó sẽ lệ thuộc vào CPU của bạn để chạy cố gắng tạo ra nhiều request có thể.


Bài test sau sẽ tại 1 connections với 1 pipelined


autocannon http://localhost:3000/phamquangloc -c 1 -p 1


Reference - Sử dụng autocannon benchmarking tool để testing performance

Hiên tại nó đang chạy 1 processes thu được kết quả như trên : 2k request, bạn sẽ thu được độ trễ, thời gian trong quá trình kết nối đến server, qua đây bạn sẽ thu được hiệu xuất khi connections kết nối đến server và sự chịu tải của server.


Bài test tiếp theo sẽ nâng pipelined lên 2 và sẽ gọi worker threads, nâng số luồng lên để chạy và test xem sao nhé.


Reference - Sử dụng autocannon benchmarking tool để testing performance


autocannon http://localhost:3000/phamquangloc -c 1 -p 2 -w 2


Bạn sẽ thấy số request đã lên 3k , do đây test ở local nên không bị lỗi, hoặc timeouts nên request được response ngon lành.

Với lưu ý khi dùng benchmarking, bạn nên xem xét kỹ càng vì request lớn xem như đang DDOS hệ thống của bạn, tuỳ vào mục đích sử dụng mà truyền tham số phù hợp.


OK, ở trên autocannon xem như các ví dụ cơ bản để bạn kiểm tra hiệu suất server, có thể hỗ trợ bạn làm report hoặc xây dựng hệ thống lưu trữ định kỳ testing bla bla cũng được. Nó hỗ trợ Json bạn cũng có thể thoải mái dùng.


Reference - Sử dụng autocannon benchmarking tool để testing performance


Ok, xem nhe chém gió sơ sơ về autocannon benchmarking tool , còn khá nhiều điều hay ho lý thú bạn tham khảo thêm trên github, bạn có thể áp dụng vào dự án khi cần thiết. :)


https://github.com/mcollina/autocannon


Nhãn: