-
Notifications
You must be signed in to change notification settings - Fork 1
Robustness
Stress tests are done using Apache Benchmark on both local server and remote server. Searching for movie by title api is tested and is proven to be the bottleneck of the efficiency and the slowest request so far. It is important to recognise the difference in the hardware between the local device and the remote server on DigitalOcean. The local device has a memory of 8G and a 4 core CPU while the remote server has a memory of 512Mb and a 1 core CPU.
The local device is tested with 1000 requests sent by 50 concurrent users at the same time. From the overall results, the average time for requests is around 578ms which is within a reasonable time range.
Recognising the hardware difference between local device and remote server, the number of requests and concurrent users are reduced to 200 and 10 respectively first. From the results, it is obvious that hardware becomes a drawback for the whole system. The average time for search query increases drastically from 587ms on local server to around 7s on the remote server.
To see a direct and clearer difference, it is necessary to test on the server with the same condition as on the local device. 50 concurrent users are definitely overloading the server and it drives the CPU usage for the server to around 100% for the entire testing with an average 34s per request as a result. A benchmark of 1000 requests with 1 concurrent user is also conducted. The result shows that the average for 1 user is about 800ms. The time for 1 user is still reasonable but for 50 concurrent users the result becomes too large in number.
In conclusion, due to the budget limit, the hardware on the remote server can only support a small number of concurrent users sending request.
https://drive.google.com/open?id=1O_VbaPkt7Z2i3sOG5KC4Vus3VOm1k72dC4Po_JrwnPQ
-
2.1 Team Details
2.2 Project Worklog
-
5.1 Usability
5.2 Efficiency
5.3 Robustness
5.4 Security