<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									wpForo online status tracking causes DB slowdowns site-wide - wpForo Integration				            </title>
            <link>https://wpforo.com/community/wpforo-integration/wpforo-online-status-tracking-causes-db-slowdowns-site-wide/</link>
            <description>Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Fri, 14 Aug 2026 09:21:54 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>wpForo online status tracking causes DB slowdowns site-wide</title>
                        <link>https://wpforo.com/community/wpforo-integration/wpforo-online-status-tracking-causes-db-slowdowns-site-wide/#post-138780</link>
                        <pubDate>Mon, 06 Jul 2026 14:36:22 +0000</pubDate>
                        <description><![CDATA[Hi,We noticed that the Members::update_online_time() function (in the classes/Members.php file) is hooked to WordPress&#039;s built-in set_current_user action. This action runs on every page load...]]></description>
                        <content:encoded><![CDATA[<p>Hi,<br /><br />We noticed that the Members::update_online_time() function (in the classes/Members.php file) is hooked to WordPress's built-in set_current_user action. This action runs on every page load for logged-in users, not just on forum pages. This means that even in setups where wpForo is embedded on only 1-2 specific forum pages, an unconditional UPDATE wp_wpforo_profiles SET online_time = ... query is executed site-wide (shop pages, checkout, homepage, admin panel).<br /><br />On our server, under high load, this situation appears in the MySQL slow query log with durations of 2-4.5 seconds due to profile table contention.<br /><br />We checked the "Online Status Timeout" setting in the profile settings, but this only controls how long a user is displayed as online; it does not restrict the write frequency.<br /><br />Would it be possible to introduce a setting that allows the update_online_time() function to write once every N minutes for each user (by checking the current value before writing), or a filter/hook that allows us to control this ourselves without patching the core plugin files?<br /><br />We believe this would significantly reduce the database load on WooCommerce + wpForo installations where most of the traffic never touches the forum.</p>
<p>Best Regards,</p>]]></content:encoded>
						                            <category domain="https://wpforo.com/community/wpforo-integration/">wpForo Integration</category>                        <dc:creator>DeepLine Digital</dc:creator>
                        <guid isPermaLink="true">https://wpforo.com/community/wpforo-integration/wpforo-online-status-tracking-causes-db-slowdowns-site-wide/#post-138780</guid>
                    </item>
							        </channel>
        </rss>
		