Server-side Observations about Web Service Technologies: Using Custom Web Clients

Image for post
Image for post

Setup

Benchmarking Tools

Derived Requests per Second

Performance

Execution

Observations about Performance

Client-side Observations

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Client-side performance at 10, 6, and 2 MBps [click to enlarge]

None of the web services could service 10K requests per second on a Raspberry Pi 3B

Server-side Observations

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Server-side performance at 10, 6, and 2 MBps [click to enlarge]

Actix-Rust and Go implementations consistently performed better than other implementations

Observations about Failure/Reliability

Based on Failed Clients

Based on Raw Least Number of Failed Requests

Image for post
Image for post
Raw least number of failed requests across all five executions. A/B/C/D/E denotes request failed with A checkout_timeout errors, B connect_timeout errors, C timeout errors, D closed errors, and E errors with unknown reasons. (Best-Case) [Click to enlarge]

Types of Errors (Failures)

Based on Corrected Least Number of Failed Requests

Image for post
Image for post
Corrected least number of failed requests across all five executions. A/B/C/D/E denotes request failed with A checkout_timeout errors, B connect_timeout errors, C timeout errors, D closed errors, and E errors with unknown reasons. (Best-Case) [Click to enlarge]

Based on Corrected Most Number of Failed Requests (Worst-case)

Image for post
Image for post
Corrected most number of failed requests across all five executions. A/B/C/D/E denotes request failed with A checkout_timeout errors, B connect_timeout errors, C timeout errors, D closed errors, and E errors with unknown reasons. (Worst-Case) [Click to enlarge]

Some Explanation

Summary

While using a feature of a library, understand how various options and their (default) values influence the behaviours of the feature

Next Up

Programming, experimenting, writing | Past: SWE, Researcher, Professor | Present: SWE

Get the Medium app