0 votes
ago in Methoden-Fragen by s366582 (110 points)

Hello,

I'm preparing a conjoint study (forced-choice paired profiles, several tasks per respondent) and am unsure about a memory warning before going to field.

The setup is:
- A single PHP block on the first conjoint page randomizes the complete design for the respondent (all tasks at once), wrapped in if (value('IV01_01', 'code:ifany')) so it runs only once.
- One of the profile attributes is drawn from a custom content database (~10,000 entries plus a smaller lookup index of ~100 entries) via dbGet(). Per respondent, this results in roughly 30 lookups.

  • The full design is then written into ~120 internal variables (one per attribute slot per profile per task), so the design can be reconstructed cleanly from the exported dataset.

The problem/ concern:
On the first conjoint page, SoSci shows the orange warning:

Building this questionnaire page requires an unusually high amount of RAM (24.5 MB), of which 20.8 MB are for the page content. [...] If memory usage continues to rise, this may lead to interview drop-outs.

The warning only appears on this one page — all subsequent conjoint pages and the rest of the questionnaire are well below threshold. The randomization runs once, the design is stored, and from there the load is normal.

My planned sample is around 2,500 completes via an external panel provider, field duration ~10 days. Realistically, there might be a handful of respondents simultaneously on this critical page at peak times.

My question:
Is a one-time ~25 MB peak during page assembly a real concern on the SoSci hosting infrastructure, or is this comfortably within the limits and the warning is mostly a heads-up?

Thanks a lot for any answers in advance!

1 Answer

0 votes
ago by SoSci Survey (373k points)

The full design is then written into ~120 internal variables

We recently observed that running put() very often seems to cause a memory leak. This is currently under investigation: Other Post (in German)

One possibly solution is to use putList() instead of 120 put()s.

Is a one-time ~25 MB peak during page assembly a real concern on the SoSci hosting infrastructure

Honestly: no. We introduced the memory warning, because there were a few (<0,01%) questionnaires that ran into what seemed like the questionnaire crashing (blank page, cannot resume) due to excessive memory usage. Now, there's a warning to have potentially harmful issues on screen in time.

You shall still try putList() while we find out how to make put() work more efficiently.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...