Regarding HTTP API Calls by Plugin
-
Hello,
Recently admin section of my wordpress+woocommerce website hosted on cloudways slowed down a lot especially when creating or editing a product.
I installed Query Monitor plugin and noticed that every time I create or edit a product, Really Simple SSL is sending multiple HTTP Api Calls which are adding to the load time.
These requests are following
1. rsssl_admin->get_test_page_contents()
2. rsssl_admin->mixed_content_fixer_detected()
3. rsssl_code_execution_allowed()
4. rsssl_src_contains_wp_version()Out of these 3, mixed_Content_Fixer one usually takes around 3 seconds. While the 3rd one shows 403 Forbidden error.
When I disabled Really Simple SSL on my staging website, the load time improved significantly. Is there any fix for this??
-
This topic was modified 2 years, 3 months ago by
mayank29gupta.
-
This topic was modified 2 years, 3 months ago by
-
These requests are all cached in a transient for 24 hours, and should normally not run outside your settings page, except for once a week. If you see these requests more than once a day, there’s an issue with your transients.
Are you using a tool which clears transients on your site?
-
This reply was modified 2 years, 3 months ago by
Rogier Lankhorst.
Hello @rogierlankhorst thanks for the reply.
I am sorry but I don’t know what transients mean. I use several plugins but can’t tell which one would do that. I use Breeze for caching and Heartbeat Control plugin. Is this the work of any of these plugin?
transients are a kind of option/settings, which expires after a certain period.
If you disable all other plugins on the staging site, does the issue go away? Please load the page twice, to ensure the caches are set.
If I know which plugin it is, I can test with to see what happens.
Found this thread that seems to describe my issue, so as @mayank29gupta is offline, I thought it OK to continue here, if that’s OK, @rogierlankhorst.
– My site is slow, and I’m also using Query Monitor.
– I am not constantly clearing transients on my site (only every few days, with ManageWP).
– This may or may not be relevant (I’m no coder) but seems to be happening on every page in WP-Admin backend. >Plugin: really-simple-ssl
cURL error 28: Operation timed out after 5000 milliseconds with 0 bytes receivedrsssl_src_contains_wp_version() wp-content/plugins/really-simple-ssl/security/tests.php:403 rsssl_admin->validate_function() wp-content/plugins/really-simple-ssl/class-admin.php:2398 rsssl_admin->get_notices_list() wp-content/plugins/really-simple-ssl/class-admin.php:2282 rsssl_admin->count_plusones() wp-content/plugins/really-simple-ssl/class-admin.php:2435 rsssl_add_option_menu() wp-content/plugins/really-simple-ssl/settings/settings.php:93 do_action('admin_menu') wp-includes/plugin.php:517
I don’t know if it’s related, but my SSL setting is off for “Hide your WordPress version”.
Maybe it’s a clash with a security plugin ? I use WordFence and Sucuri, and use LiteSpeed Cache.Thanks, @rogierlankhorst, and keep up the great work. ??
@photomaldives thanks for posting your info, that helped me. Based on your error log, I think the issue is that, because of the time out, the transient/cache is never set. As a result it keeps on trying, while it should only try once a day.
I’ve created a branch here which sets a default before the test runs:
https://github.com/Really-Simple-Plugins/really-simple-ssl/tree/set-defaults-in-case-of-time-outsLet me know if that resolves your issue.
Thanks for your quick reply, Rogier Lankhorst ?? @rogierlankhorst
That’s not something I’ve done before, so after googling I installed the WP Pusher plugin and configured it like this (screen).
After connecting to your repo, it seemed to work OK, but I notice the plugin version remains the same = Lightweight SSL & Hardening Plugin Version 6.0.12 (I’m unsure if this is supposed to change?)
After clearing LiteSpeed cache, the performance of my site remains slow, and the cURL error 28 is still showing, as I navigate between pages in WP-Admin.
-
This reply was modified 2 years, 3 months ago by
photoMaldives.
@photomaldives to make sure you have the correct branch, I’ve changed it to 6.0.12.1, so now you should see it change.
Does it have an issue on the same function again? (rsssl_src_contains_wp_version)
For some context: Do you use the pro add-on perhaps? (To exclude the add on as cause)
-
This reply was modified 2 years, 3 months ago by
Rogier Lankhorst.
@photomaldives I limited the timeout to 5 s now, which should be well within the php response time This should ensure the function can complete once, then get cached.
Can you check if this resolves the issue?
Thanks, @rogierlankhorst.
– Pro add-on/s – none used.
– rsssl_src_contains_wp_version – see below.WP Pusher is working well – now running your Version 6.0.12.1
Screenshot of Query Monitor, WP Admin dashboard.
200 OK rsssl_admin->get_test_page_contents() 0.2kB 0.0310s 403 Forbidden rsssl_code_execution_allowed() 0.7kB 0.0153s cURL error 28: Operation timed out after 5001 milliseconds with 0 bytes received 5.0038s
rsssl_src_contains_wp_version() wp-content/plugins/really-simple-ssl/security/tests.php:414 rsssl_admin->validate_function() wp-content/plugins/really-simple-ssl/class-admin.php:2398 rsssl_admin->get_notices_list() wp-content/plugins/really-simple-ssl/class-admin.php:2282 rsssl_admin->count_plusones() wp-content/plugins/really-simple-ssl/class-admin.php:2435 rsssl_add_option_menu() wp-content/plugins/really-simple-ssl/settings/settings.php:93 do_action('admin_menu') wp-includes/plugin.php:517
I’m happy to work with you on this for as long as you wish, but don’t want to waste your valuable time for my edge case. Note that I do run your plugin on several other sites (same hosting) without issue (same Divi theme, similar set of plugins).
UPDATE
1) Enabling my Divi theme’s ‘Safe Mode’ cleverly disables all plugins for admin only, and rather cleverly it did not disable Query Monitor and Simple SSL ! In this mode, the problem persists.
2) Then, renaming my plugins folder (to disable all plugins) speeds up the site considerably, and of course the problem is no longer there.
3) Then, with only the ‘Really Simple SSL’ folder renamed/disabled, the timeout error does of course disappear, but interestingly the WP Admin pages are only slightly faster. So there is some other issue (in addition).My plugins
Really Simple SSL
Query Monitor
ManageWP – Worker
A2 Optimized WP
Cool Timeline Pro
Custom Twitter Feeds
Yoast Duplicate Post
Duplicator
Essential Grid
EWWW Image Optimizer
Feed Them Social – for Twitter feed, Youtube, and more
FooBar WordPress Notifications
Site Kit by Google
3D FlipBook – Lite Edition
LiteSpeed Cache
Menu Icons
Shortcode in Menus
Shortcoder
Sucuri Security – Auditing, Malware Scanner and Hardening
WordPress Version Info
Wordfence Security
Yoast SEO
WP Database Backup
WP PusherI don’t mind investigating this at all, as our goal is always to fix all edge cases we encounter. And performance is important for us.
I’ve changed two things (version is now 6.0.12.2):
– I added a try/catch statement
– I added a log ‘RSSSL Stored transient after just being saved: ‘The last one is especially interesting: just after the transient (type of cached setting) is saved, I’ve logged this. With a plugin like wp debugging you should see this log in the debug log, with a value like ‘no-response’. If the value is empty, the transient doesn’t get saved.
If that is the case, I have another idea to move away from transients to something else, but would be great if you can post the results of this branch on your system here.
@photomaldives looking specifically at the CURL 28 error, which seems the core of the issue on your website, I found some possible causes online that might help you with that:
– PHP version: in some cases it seems to help to update PHP
– openSSL or CURL version: if these server libraries contain outdated SSL certificates this might cause an issue. Your hosting provider can help with that.
– Sometimes a firewall is blocking the cURL request. Another possibility is a security module, for example, the Apache mod_security module??
Lightweight SSL & Hardening Plugin Version 6.0.12.2PHP error log =
Dec 08, 17:39:38 RSSSL Stored transient after just being saved: no-response Dec 08, 17:39:22 RSSSL Stored transient after just being saved: no-response Dec 08, 17:39:21 RSSSL Stored transient after just being saved: no-response Dec 08, 17:38:57 RSSSL Stored transient after just being saved: no-response Dec 08, 17:37:22 RSSSL Stored transient after just being saved: no-response
wp debugging =
This message was triggered by wp-debugging. Call stack: wp_die() wp-content/plugins/wp-debugging/vendor/norcross/debug-quick-look/includes/parser.php:54 DebugQuickLook\Parser\run_parse() wp-content/plugins/wp-debugging/vendor/norcross/debug-quick-look/includes/actions.php:59 DebugQuickLook\Actions\run_quicklook_action() wp-includes/class-wp-hook.php:308 do_action('admin_init') wp-admin/admin.php:175
@photomaldives thanks for taking the time to check all this, that’s really helpful.
So it looks like the transient is successfully stored.
I’d expect the timeout for this function to be gone now, as the transient is not empty. It only runs if the transient is empty.
Is that correct?
(I’ve removed the logs from the branch now by the way).
-
This reply was modified 2 years, 3 months ago by
Rogier Lankhorst.
Hey, no worries – thanks should go to you, as you’re doing all the hard work ! ??
Clicking around the pages in my WP Admin, it’s still very slow, and I still get this message on every second or third admin page (Dash-Posts-Pages-Media-Tools- etc).
cURL error 28: Operation timed out after 5001 milliseconds with 0 bytes received
-
This reply was modified 2 years, 3 months ago by
- The topic ‘Regarding HTTP API Calls by Plugin’ is closed to new replies.