Support

Home Forums Community Forum EE3 – Extremely Slow Loadtimes / Timeouts

EE3 – Extremely Slow Loadtimes / Timeouts

Posted: November 30, 2018 at 5:27 am


Rob Reese

November 30, 2018 at 5:27 am

I spent a lot of time working with the EE codebase of EE3 (3.1.36.P) reviewing the call stack & timing to figure out why my client’s site was timing out, or, in the cases when it did load, taking minutes – especially the backend Dashboard. I traced it back to EE core plugin. Your plugin is doing multiple curl calls to your site both https://eventespresso.com and http://eventespress.com/feed of which must have been changed / altered / decommissioned lately. This was causing the site to essentially wait for the CURL requests to timeout before the code could move on. Terrible.

I’ve commented out the areas where your code is making these requests but you should consider the effect you have on your userbase when making such changes to your backend before doing so. Make an announcement / let people know you’re sunsetting, etc.

Thanks.


Josh

  • Support Staff

November 30, 2018 at 7:02 am

Hi Rob,

https://eventespresso.com/feed actually redirects to https://feeds.feedburner.com/EventEspresso-WordpressEventRegistrationAndTicketingManagerPluginBlog, is that not happening for you?

May I ask why did you review the codebase from a version that was out of date a few years ago? The current version of Event Espresso 3 is 3.1.37.14.p, and unless I’ve mistaken, those curl calls have been removed.

If you can offer some specifics about what you found we can investigate further. It will also help if you can update the software to the current version. There have been more than a few bug fix and compatibility updates (to keep EE3 compatible with current WordPress and newer versions of PHP) since EE3.1.36.


Rob Reese

November 30, 2018 at 8:56 am

In regard to your comment on the out of date codebase – quite simply, the client doesn’t wish to pay yearly for support and is running on this version. It meets their needs. In fairness, I’m not looking for support from EE on this issue as I’m fully aware we’re not paying for and are using an outdated version. I just felt this is a big enough issue that it’s going to impact a number of your clients running older versions and wanted to make you aware if you weren’t already that there were likely changes made on your end that are causing a severely negative impact to clients on an older version.

The redirect works on a browser for the feed – it appears the curl request does not follow the redirect and just hangs.

function espresso_news_dashboard_widget_function() {
	wp_widget_rss_output('https://eventespresso.com/feed/', array('items' => 5, 'show_author' => 1, 'show_date' => 1, 'show_summary' => 0));
}

Issue 2 – This does not connect & hangs until it times out:

if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'class/pue/pue-client.php')) { //include the file
			require(EVENT_ESPRESSO_PLUGINFULLPATH . 'class/pue/pue-client.php' );
			$api_key = isset($org_options['site_license_key']) ? $org_options['site_license_key'] : '';
			$host_server_url = 'https://eventespresso.com'; //this needs to be the host server where plugin update engine is installed.
			$plugin_slug = array(
				'free' => array('L' => 'event-espresso-free'),
				'premium' => array('P' => 'event-espresso'),
				'prerelease' => array('B' => 'event-espresso-pr'),
				);
			$options = array(
			//	'optionName' => '', //(optional) - used as the reference for saving update information in the clients options table.  Will be automatically set if left blank.
				'apikey' => $api_key, //(required), you will need to obtain the apikey that the client gets from your site and then saves in their sites options table (see 'getting an api-key' below)
				'lang_domain' => 'event_espresso', //(optional) - put here whatever reference you are using for the localization of your plugin (if it's localized).  That way strings in this file will be included in the translation for your plugin.
				'checkPeriod' => '12', //(optional) - use this parameter to indicate how often you want the client's install to ping your server for update checks.  The integer indicates hours.  If you don't include this parameter it will default to 12 hours.
				'option_key' => 'site_license_key', //this is what is used to reference the api_key in your plugin options.  PUE uses this to trigger updating your information message whenever this option_key is modified.
				'options_page_slug' => 'event_espresso',
				'plugin_basename' => EVENT_ESPRESSO_WPPLUGINPATH,
				'use_wp_update' => TRUE, //if TRUE then you want FREE versions of the plugin to be updated from WP
				'extra_stats' => $extra_stats
			);
			$check_for_updates = new PluginUpdateEngineChecker($host_server_url, $plugin_slug, $options); //initiate the class and start the plugin update engine!
		}

I’m noticing both of these are going to an http endpoint rather than https so maybe you’ve made changes to your site to no longer allow connections on http and force a redirect to https at all times? Just a thought.


Josh

  • Support Staff

November 30, 2018 at 9:13 am

Hi Rob,

Since you’re not going to update, feel free to change those to https in your copy of EE3. The server at our end will redirect those to https, but some servers/hosts won’t like the redirects, and apparently your host doesn’t.

The support post ‘EE3 – Extremely Slow Loadtimes / Timeouts’ 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.

Event Espresso