• Resolved mayank29gupta

    (@mayank29gupta)


    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.
Viewing 15 replies - 1 through 15 (of 27 total)
  • Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    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?

    Thread Starter mayank29gupta

    (@mayank29gupta)

    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?

    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    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 received

    rsssl_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. ??

    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    @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-outs

    Let 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.
    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    @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)

    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    @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 Pusher

    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    I 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.

    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    @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.2

    PHP 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
    Plugin Contributor Rogier Lankhorst

    (@rogierlankhorst)

    @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).

    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

    View post on imgur.com

Viewing 15 replies - 1 through 15 (of 27 total)
  • The topic ‘Regarding HTTP API Calls by Plugin’ is closed to new replies.