learn-ocaml icon indicating copy to clipboard operation
learn-ocaml copied to clipboard

Requirements in terms of resources

Open yurug opened this issue 7 years ago • 2 comments
trafficstars

Which server requirements (RAM, CPUs, etc) should be allocated to learn-ocaml instances? I guess it depends on the number of users interacting with the platform.

We probably need a basic performance monitoring subsystem to collect information and to build solid answers to this question.

yurug avatar Aug 15 '18 14:08 yurug

The server really doesn't do anything special, anything that can serve web pages should be OK, since all the hard work is done in the client browser. I am adding some storage of data, but that shouldn't be anything your average toaster today can't handle (or I did something wrong!).

As for building the app from an exercise repository (learn-ocaml build), I just checked on a large repo and it doesn't reach 100MB memory usage. It could take a while on a slow machine, though (note: I just re-added parallel builds in my branch).

The main thing that would be worth checking is the network throughput when confronted with a large number of requests, possibly holding quite some bit load: say in the last minutes before a project is due...

AltGr avatar Aug 15 '18 15:08 AltGr

I have made some performance measurement with Chrome network monitoring, Google page speed, siege and loadimpact.com. Three conclusions:

  • the server resources consumption (CPU and RAM) indeed seem very low ;
  • the server responds very quickly even under an hundred concurrent users ;
  • the page loading time is around 8 seconds mainly because we do not compress and caching static entities. The last item is not too scary: we have many ways to optimize page loading time.

yurug avatar Aug 31 '18 18:08 yurug