Für die Anforderungen an CPU und RAM ist vor allem die Anzahl der Personen ausschlaggebend, die den Fragebogen zeitgleich ausfüllen. Es macht demnach einen großen Unterschied, ob die 300 Personen alle gleichzeitig auf den Fragebogen zugreifen (z.B. in einer Klausur-Situation) oder ob sie im Verlauf von 2 Tagen mehr oder weniger einzeln die Daten eintragen. Dazwischen liegt ein Faktor von 300 bezüglich der Leistungsanforderungen. Die Länge des Fragebogens spielt insofern hinein, als eine längere Ausfüllzeit zu mehr paralleler Nutzung führt.
Ein Performance-Faktor, der sehr starken Einfluss auf die mögliche Spitzenleistung von SoSci Survey hat, ist die Schreib-/Lesegeschwindigkeit der Festplatten. Wir hatten Systeme mit ähnlichen Leistungsdaten bei CPU und RAM, deren tatsächliche Leistung aber aufgrund der Festplattengeschwindigkeit um den Faktor 100 variierte.
Eine weitere Rolle spielt die eingesetzte Webserver-Software. Apache mit PHP-Modul kann sehr Ressourcen- und vor allem RAM-hungrig sein, sodass bei begrenztem RAM-Speicher schon bei 50 parallel laufenden Interviews Schluss sein kann. Nginx mit PHP via PFM verwenden selbst bei 500 parallel laufenden Interviews nur 0,5 GB RAM.
Wenn ich Ihre Frage korrekt verstehe, soll Ihr Befragungsserver nur kurze Fragebogen (1-2 Seiten) verarbeiten und die Teilnehmer/innen greifen nur selten parallel darauf zu. Selbst wenn sich die 300 Interviews auf "nur" 30 Minuten verteilen, sind das i.d.R. weniger als 10 parallel aktive Interviews. Dies sollte selbst auf einem Raspberry Pi problemlos laufen - für eine Webserver-VPS würde ich hier die kleinste Ausstattung empfehlen, also:
- 1 vCPU
- 4 GB RAM (2 GB für das Betriebssystem, 1 GB Datenbank-Cache und 1 GB Webserver)
- 20 GB SSD-Festplatte (10 GB für Ubuntu/Debian, 10 MB für SoSci Survey, 1 GB für Mediendateien, 8 GB Puffer)
- Linux-Betriebssystem nach Gusto der Systembetreuerin oder des Systembetreuers
- MariaDB oder MySQL nach Wahl
- Port 443 bei einem sauber HTTPS-konfiguriertem Webserver
- Port 22 in einem eng definierten IP-Bereich für SSH-Wartungszugriff (Login via Keyfile)
Außerdem sehr wichtig: Ein dem Server externer Speicherplatz, um täglich Sicherungen der Datenbank zu erstellen. Mit duply/duplicity und mysqldump lässt sich dies gut automatisieren.
Wie oben geschrieben empfiehlt sich als Webserver die (im Vergleich zu Apache recht schlanke) Nginx in Verbindung mit PHP-FPM. Für kleine Erhebungen tut es aber auch die in Ubuntu und Debian teils vorkonfigurierte Apache-Standardausstattung.
In aller Regel lassen sich die Anzahl der virtuellen CPU-Kerne und der zugewiesene RAM-Speicher schnell erhöhen, falls größere Erhebungen das erforderlich machen sollten. Falls Sie darüber nachdenken, größere Mengen an Mediendateien (Audio, Videos) hochzuladen und einzubinden, sollte die Festplatte gleich ein wenig wenig gewählt werden. Denn das nachträgliche Vergrößern der Festplatte ist geringfügig aufwändiger.