I have a general question about Netlify Forms’ capacity to handle large numbers of submissions.
Example, we have actual traffic spikes of 6000+ form posts per minute. Each form has, typically, around 10 columns/input fields. Text only, no data fields.
Can Netlify Forms handle this amount of traffic?
What are the realistic expectations for the handling of high-traffic, sustained submissions?
What happens if Netlify’s post capacity is reached? What type of error message is shown to the end user?
Please help me understand the upper-limits of Netlify Forms so that I can plan accordingly.
Netlify or community members, please respond and give me some idea of Netfliy Forms’ capacity to handle large spikes of traffic please. I need this information in order to make a recommendation. Thank you!
Hiya @MVO and sorry to be a bit slow to respond. Our staff does not work much over the weekend so please set expectations accordingly for future requests that there will be a few business days of turnaround potentially for questions like these asked here.
I have asked our teams (networking and API) to confirm whether they can see any problems with this and they report that:
- our CDN can handle that traffic without noticing at all (we have a lot of extra capacity)
- our form handling backend can also handle that, but if it were sustained (6000 POSTs per minute all the time), it might need revisiting. Single minutes having that spike are no problem. What do you anticipate your average traffic as?
That’s great news! Thank you for responding @fool…
To answer your question…
We are a national broadcast network and, occasionally, we have contests where the viewers hit the website en masse to fill out a submission form. When this happens, we see a huge spike of visitors, all submitting the form at nearly the same time. So, for roughly an hour, we would expect an average of 20,000 total submissions. Most of these would happen within a 15-minute window (i.e. after we post the ‘word of the day’). After an hour, the form submissions will continue to trickle in.
Follow up questions:
Great, thanks for that description. Sounds like it won’t be a problem for us!
This is a bit abstracted, but something like this happens when there is a form post that our service accepts.
- The form data is stored immediately in our database.
These next steps may queue in case of high load, but all will retry and there is rarely a delay of over a minute, though you may cause one with instantaneous load like this (so they may take a few minutes instead; but keep in mind that at this point, your data is already stored and available for API download, and visual confirmation in our UI).
we submit the form data to akismet where it is checked for spamminess. This isn’t perfect, but it is better than anything short of recaptcha.
- their response indicates how we note it in our UI and our database (we separate those entries deemed spammy and the other step does not happen).
- non-spammy submissions will be notified about, with whatever notifications you configure..
If something were to go wrong, it would depend what broke and how as to what the error would be. Below are the examples I can imagine, but essentially, we aim to keep things up so you will hopefully never experience anything other than the above.
- In case of a total CDN outage probably they couldn’t see the form to submit and submissions could be lost. These events are extremely rare, and almost nonexistant for well configured sites (this weekend’s issue, for instance, was avoided by best practices DNS configuration
- In case of an API latency situation, the submissions would be recorded and the processing (spam check and notification) could be delayed; no customer-facing error would arrive
- In case you totally misconfigure your form, your visitors would receive a 404 error upon posting, but that is up to you to control via your deployments, and test to your satisfaction. In a steady state (no changes to your form), no changes will occur to how submissions are handled as they are driven by what you deploy.
Also, should you have exacting needs like this, you’d be on a higher dollar contract, and we’d be able to make time to teach you the ins and outs of our form handling system to a larger degree than I have time to do in speculation of your future needs here