Posted: January 14, 2018 at 11:19 am
Registration checkout page is loading very very slow. When you click on register button it takes nearly 10 seconds to load the checkout page. I have checked and looks like it’s the POST call right after you click Register button which is taking 6-10 seconds to complete. The server has 8GB memory and PHP memory limit is set to 4096MB which is more than enough. I have checked usage logs, however, website is not even using 10% of its allocated resources. I have also tried disabling all plugin and even tried to move MySQL database to hosted AWS database service but it didn’t work. We are using latest 4.9.54.p version. I noticed when I do data reset(on a test installation) from Event Espresso – Maintenance page then everything works perfectly fine. So my conclusion is that event expresso is unable to handle large dataset? Any idea how this can be fixed? |
|
Hi there, Can you link me to an event I can use to view this? |
|
Hi Tony, you can try this one http://markpatrickseminars.com/sp/events/gulfport-ms-mark-patrick-lose-weight-seminar-with-hypnosis-wednesday-january-17th-lm-register-now/ |
|
Hi Bilal, We received your request for priority support. I suspect what’s happening is there’s an unusually high amount of bot activity happening on your site where one symptom is the bots are submitting to the ticket selector form at a rate faster than the junk/automated transactions can be deleted. I’m going to install a plugin that will allow for deleting those transactions & line items. I’ll let you know when that’s done. |
|
Hi again, There was a higher than usual number of transactions with no submitted registration data, and they were getting submitted at a faster rate than the rate they’re deleted. I added some code to the very end of the custom function plugin on the site that changes the length of time to one day before deleting those (instead of 1 week). So there are fewer of those transactions to query through now, and there’s a noticeable speed improvement when the ticket selector form is submitted. I can advise to re-activate the Block Bad bots plugin or better yet, use the .htaccess version which is less resource-intensive: |
|
Hi Josh, loading is still very very slow. It still takes about 6-8 seconds to load next page. Can you please check why it’s doing it even after your changes? |
|
I actually cannot “check why it’s doing it”, but I can open a ticket for one of the developers to make a way to limit the number of queries when the ticket selector is processed. It will also help to reduce the number of queries if you can re-activate the Block Bad bots plugin or better yet, use the .htaccess version which is less resource-intensive: If the bots can be blocked from hitting your site then that will free up resources for actual visitors. |
|
Hi Josh, I deployed the site to my local cPanel server and there are no incoming bots traffic on local server but it’s still doing the same thing. I checked traffic logs and we are not getting much traffic on site anyway. Can you please help us fix this asap because we are losing registrations right now. |
|
That would be expected because you’ll still have the same number of transactions in progress if you deployed the database from that site to another server. I’m afraid there’s nothing more I can do to further help, especially if you’re not going to add some type of bot protection, but if you’d like you can try this branch that adds bot detection middleware: |
|
Hi Josh, You said that “I would have the same number of transactions in progress” – my question is: what transactions would those be? Incomplete transactions? Are you saying that if we remove the “transactions in progress” that this slow loading issue would go away? What is an acceptable level of transactions with no submitted data? Thank you for your help. |
|
They’re not incomplete transactions, they are actually transactions in progress.
No and that is not a solution. Transactions in progress must not be removed if they are valid transactions. The solution will be to prevent invalid transactions from starting.
That can vary because of factors like server resources, number of events, number of tickets, number of line items per transaction. |
|
Hi Josh, We are going to try the .htaccess blocking instead of the WordPress plugin. What are your thoughts on also using a service like http://www.stackpath.com ? Thanks. |
|
I’m not familiar with those, but I can advise to test on a staging site before rolling out the CDN onto production. |
|
Hi Josh, They used to be MaxCDN. We were going to try their Firewall to help block bots. Are there any known incompatibilities with Event Espresso and Firewalls? Thanks. |
|
The issue we’ve seen with firewalls is they need to be configured to allow the flow of information between your site and the payment processor (e.g. Authorize.net or PayPal). |
|
Hi Josh, OK, we don’t accept payments on the website, so I don’t think that will be an issue.
Does this mean it would limit the amount of people who can register for our events at one time? Thanks. |
|
No. It means the developer will do things like optimize the queries where possible, possibly reduce the number of queries, and where needed set a LIMIT on queries. |
|
Please proceed and have your developer do this. How long will this take? Will these changes be overwritten if we update Event Espresso? Note: this is a live site currently taking registrations. Thanks Josh. |
|
We’re not actually going to develop on your site. The developer is going to make changes to Event Espresso core and when they’re ready they’ll be included in an upcoming release. In between that time and now there will be a branch that you’re welcome to test on. |
|
When do you expect that release to be ready? Thanks. |
|
Did you do this again today? Our registration process seemed much faster after I saw the new plugin was activated (I think it was adminer) Then this evening it became slow again. Is this something we can continually do ourselves until you provide a core update? We have tried both the bot plugin and htaccess version and we still can’t find a solution. Throughout the day, registrations will come in fine, then at other times, the page will start freezing (after clicking the “Register” button) – generating Internal Server 500 Errors. We are losing a lot of registrations. What do you suggest? |
|
Yes I did go and delete the line items where TXN_ID = 0, and I can do that again right now. What may help reduce the need to do that is add a note near the Ticket selector submit button that tells people to not refresh the page while their ticket selections are being processed. What happens is if someone selects tickets and they don’t wait, and try refreshing the page or hit the back button, their transaction record will not get saved to the database. This leads to more orphaned line items, which take a while before they’re automatically deleted from the database. |
|
Update: While I was in there deleting those line items with TXN_ID = 0, I added some indexes to a few of the columns in that esp_line_item table (at the suggestion of one of the developers). You’ll find that the registration checkout page load time is improved with that change. |
|
|
I am just starting ticketing for 2018 so don’t have actual experience yet. But 2017 ticketing Checkout was too slow (got complaints from buyers). I just installed EE4 4.9.55p. When will the Registration Checkout Loading improvements be available in EE4 releases? FYI, my experience with StackPath for another application was problematic due to having too many accesses blocked… so I deactivated StackPath… may not be a true issue but did not have time to research. Another issue related to Checkout speed is having a small screen footprint to optimize entry and keep everything in a smaller viewset (including error messages). Will there be any EE4 changes in this area soon? THX., John |
Hi John,
I do not have a timeline.
No because that’s actually something that’s controlled by your WordPress theme. If you need assistance with your site can you please open a support topic and include a link to an event page so we can investigate? Usually we can point you in the direction of adding some CSS that will override the theme to improve the overall layout of the checkout page. |
|
Hi Josh, Can you show me what you did to speed up our registration process? It made the site much faster, but it’s starting to slow down again. |
|
The most significant improvement involved a permanent change to the database where indexes were added to the esp_line_items table. This screenshot shows the difference in the load time after the indexes were added: https://slack-files.com/T02SY781D-F8WHCFTRS-0a4595bff7 The other thing that can be done that may help is you delete the line items where the transaction ID is 0. You run this query on the database:
|
|
The support post ‘Extremely Slow Registration Checkout Loading’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.