View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 19370 | Feature requests | Import/Export | public | 2024-01-21 19:01 | 2026-08-09 23:53 |
| Reporter | mhladun | Assigned To | |||
| Priority | none | Severity | feature | ||
| Status | new | Resolution | open | ||
| Summary | 19370: Importing a large number of participants from CSV - Performance and UX | ||||
| Description | I submitted a post about this topic at https://forums.limesurvey.org/forum/design-issues/145369-importing-large-number-of-participants-from-a-csv-results-in-gateway-timeout. Essentially, uploading a CSV containing 45 thousand participant records (firstname, lastname, email), reaching 1.7 MB in size, takes more than 60 seconds to complete with no visual feedback about progress. The default gateway timeout error for PHP and Apache is thrown - "The gateway did not receive a timely response from the upstream server or application.". After this error, the site freezes, and in order to get back to the site, I must close my browser, and open it again. The upload button should be disabled during the uploading of CSV imports. And including some user feedback like a progress bar, and a mechanism to keep the connection alive would be ideal. | ||||
| Steps To Reproduce | Steps to reproduceImport a large number of participants via a CSV. Something like 30 thousand+ should reproduce this. Expected resultThe import is takes less than 10 seconds to complete. The upload button is disabled so users don't repeatedly click it. A progress bar, or upload feedback is displayed. Actual resultThe CSV appears to be uploading, with a loading icon in the browser's tab, but when the Gateway Timeout is reached, we have no idea about the results of the upload. | ||||
| Tags | csv, import, participants, ux | ||||
| Bug heat | 16 | ||||
| Story point estimate | |||||
| Users affected % | |||||
|
It looks like, after the Gateway Timeout error, participant records are increasing at about 10-50/second. This might just be a UX issue, and not a backend problem since all the records are still being created, just not instantly after clicking "upload". |
|
:+1: easy to do
About keep connection : more complex but there are solution using ajax and https://www.php.net/manual/fr/function.ob-flush.php and https://www.php.net/manual/fr/function.flush.php |
|
|
"The gateway did not receive a timely response from the upstream server or application." is a problem of your webserver configuration. |
|
|
@mhladun : see https://gitlab.com/SondagesPro/TokenManagement/BigSizeTokenUpload Allow you to separate the uploading file and import part: you can upload, then you can import. |
|
|
There is a separate and valid request in here for some kind of visual indication that the import is currently taking place, because these can take a while. As for DenisChenu's solution above - it probably solves a large part of the problem but the fact it's needed at all implies that the core itself needs to change to accommodate this user scenario. It is a workaround for something that should "just work". |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2024-01-21 19:01 | mhladun | New Issue | |
| 2024-01-21 19:03 | mhladun | Tag Attached: import | |
| 2024-01-21 19:03 | mhladun | Tag Attached: ux | |
| 2024-01-21 19:03 | mhladun | Tag Attached: csv | |
| 2024-01-21 19:03 | mhladun | Tag Attached: participants | |
| 2024-01-21 19:07 | mhladun | Note Added: 79254 | |
| 2024-01-21 19:07 | mhladun | Bug heat | 0 => 2 |
| 2024-01-22 08:39 | DenisChenu | Note Added: 79259 | |
| 2024-01-22 08:39 | DenisChenu | Bug heat | 2 => 4 |
| 2026-08-07 01:49 | superuser_does | Issue Monitored: superuser_does | |
| 2026-08-07 01:49 | superuser_does | Bug heat | 4 => 6 |
| 2026-08-07 01:49 | guest | Bug heat | 6 => 12 |
| 2026-08-07 09:49 | c_schmitz | Note Added: 85388 | |
| 2026-08-07 09:49 | c_schmitz | Bug heat | 12 => 14 |
| 2026-08-07 11:24 | c_schmitz | Project | Bug reports => Feature requests |
| 2026-08-07 18:09 | DenisChenu | Note Added: 85405 | |
| 2026-08-07 18:09 | DenisChenu | File Added: Capture d’écran du 2026-08-07 18-06-43.png | |
| 2026-08-07 18:09 | DenisChenu | File Added: Capture d’écran du 2026-08-07 18-08-51.png | |
| 2026-08-09 23:53 | superuser_does | Note Added: 85409 | |
| 2026-08-09 23:53 | superuser_does | Bug heat | 14 => 16 |