Finding the right instance size/type: which ballpark is my survey in?

Amazon AWS offers different types and sizes of ec2 instances. How should survey planners pick the right size for their survey?

This is, obviously, a big question, and there are lots of factors.

Let’s create a continuum of questionnaries sizes and see which instance is best for each (assuming 1000 cases are collected). From there, users can judge where their survey sits on the continuum.


1 Like

While questionnaire size is important to estimate required server, another important metric is amount of interviews per hour you expect to receive?
If you want 1 interview per 10 minutes, then even 4 cores 16GB RAM web server would handle even largest questionnaire survey just fine.

Second important thing is if web interview or tablet mode is used? Web surveys require more resources from server.

Mr Andrii, en abordant dans le meme sens, je pose cette préoccupation car le service AWS veut certaine informations
1- ils me demandent l’échelle de l’architecture cloud que nous voulons et la porté du projet

Nous vous voulons collecter des données auprès d’une cible
nous avons 43 agents enquêteurs
la taille de l’échantillon est de 1500.
les synchronisations se feront les soirs après la collecte et vérification
chaque agent enquêteur doit faire 5 entretiens/jour

Veuillez m’aider à avoir les caractéristique du serveur clou et je pourrai répondre

1 Like

@andrii, which factor is the most important one for identifying the right instance size/compute resources: questionnaire size or number of interviews to process simultaneously?

For the exercise in the original post, let’s assume that we’re dealing with tablet-mode only. That’s the mode that I think most clients are using.

I’d say that number of interviews is more important. The metric that is usually used to measure web application performance is number of requests per second it can handle on given hardware.

When we did performance testing last time we had the following results:

400 virtual users are able to complete 140 test scenarios (interviews completed) per second. Requests, in average, are processed in 0.5 second. In order to handle such load application uses 10 CPU cores and 7 gigs of RAM.

To get a rough estimate of required server size we can calculate required performance. 1 CPU core might
be able to handle 14 interviews per second (given that each interview has around 10 answers in it). It is with assumption that PostgreSQL server is not a bottleneck.

The proper way to handle it is to do an actual load testing on a given questionnaire in proper environment.

It would be nice to use builtin cloud service capabilities to scale up/down based on server load. But we need to investigate that a bit further.

1 Like