Forum Replies Created
-
In reply to: bbpress and memcache?
Interesting, my opinion would actually be the opposite.
bbPress is probably faster in a shared environment than the others (if tuned).
SMF and Vbulletin already take advantage of shared memory like eaccelerator/apc/xcache out of the box and have different levels of caching. Vbulletin is very bulky though.
The magic to bbPress is not performance, it has an “acceptable” rating in performance for 1.0, but what you can do with it and how quickly. You can customize bbPress like no other forum I’ve seen with quite a bit of ease, not just the look/theme but the actual functionality.
In reply to: call for testers on the 0.9 branch and 1.0 trunkI’ve discovered that several of my plugins that have admin menus will not be able to access the admin menu in bbPress 0.9.0.7 and 1.0.3 because of the new admin menu security lockdown that was merged from WordPress 2.8.3 (essentially I didn’t go through the API for bbPress 0.8 compatibility).
I’ve now fixed what I can find but there will be other plugins with the same problem.
In reply to: call for testers on the 0.9 branch and 1.0 trunkI highly recommend people learn how to install bbPress (and wordpress) via SVN, it makes life incredibly easy. You can switch between bbPress versions in a heartbeat, test new betas or jump back to the previous version effortlessly.
See this topic for more info:
https://bbpress.org/forums/topic/svn-procedure-for-checking-out-bbpress
and my note at the end on how to install SVN as a simple client instead of the whole darn thing.
In reply to: call for testers on the 0.9 branch and 1.0 trunkA quick glance looks like Sam has ported the fast recount queries into 1.0 as well.
Note that not all of the recount functions are optimized yet but a few are vastly improved.
In reply to: Changing Topic IDNote that many plugins use their own tables to keep track of information based on topic_id and post_id because of the poor performance of bbpress meta (non-unique index and large string storage).
Currently there is nothing in the bbPress API that allows a plugin to hook to be notified when there is a topic_id or post_id change to an object. So all plugins in existence (and bbpress itself) assume this will never happen. The only thing bbPress accounts for is a forum_id change on a topic/post and I am not even certain there’s an API hook for that.
This means if you manually change a topic or post id, and you have plugins which store meta for those items, you’ve just broken your data in a way that cannot be rebuilt later. All the recounts in the world won’t fix the problem.
So keep that in mind. Things like attachments, polls, etc. are all affected by what you are talking about if those topics have such meta.
(this is also specifically why I tell people not to use the Move It plugin)
In reply to: bbpress and memcache?Because of mysql replication, using the mysql cache is probably impossible on wp.com
Once you move beyond a single mysql server, things get complicated fast.
But that’s specifically the environment memcache was written for, not single server systems.
(by the way, how large is the wp.com memcache pool? I bet it’s massive)
However I find the MySQL cache has not been turned on for many VPS/dedicated servers. That’s a performance showstopper and makes a huge difference when the same queries are being done over and over on a typical bbPress install. A PHP opcode cache is the next largest performance improvement.
Here is the typical breakdown for MySQL vs Memcached performance:
Cache Type Cache Gets/sec (higher is better)
Array Cache 365000 (this is local memory, fastest possible)
APC Cache 98000 (this is common memory via apc/eaccelertor/xcache)
File Cache 27000 (this is using the local disk cache)
Memcached Cache (TCP/IP) 12200 <<<<====---
MySQL Query Cache (TCP/IP) 9900
MySQL Query Cache (Unix Socket) 13500 <<<<===--- (local mysql server, with cache)
Selecting from table (TCP/IP) 5100 (remote mysql server, no cache)
Selecting from table (Unix Socket) 7400 (local mysql server, no cache)In reply to: bbpress and memcache?Let’s review this from scratch.
WordPress and bbPress 1.0 has what we call an object cache. That is simply a pool of users, forums,topics, and posts and meta as they are passed between mysql and the application (wordpress/bbpress). It’s just another layer between mysql and bbpress.
Typically these “objects” are lost after every page load because they are no longer in regular short-term computer memory and have to be fetched again from mysql.
On a single computer system with a fast mysql server and fast disk cache, this typically is not a big problem. As a site has to scale this does become a problem because there is only one mysql source and everything has to be fetched from it.
Using a poorly configured WordPress or bbPress system with badly written or improperly running plugins, if each page load requires 30-40 queries, and you have 1000 users connected simultaneously at once, that’s a huge problem.
Memcache is a common pool of memory that doesn’t go away after each page load. It’s centralized on one server so multiple servers can all find it easily. It was invented by LiveJournal after they hit a growth limit with mysql.
The Memcache to Object Cache interface plugin for WordPress/bbPress 1.0 allows the fetching from mysql to be skipped IF the user/forum/topic/posts happen to be in the previously accessed pool in that centralized memory. Every time a query is made, the resulting data is saved in the collective memory which is retained inbetween page loads. It’s a common, shared memory.
However Memcache was written to talk over tcp/ip between MULTIPLE servers. For a single server setup it’s pointless and stupid and way too much overhead.
Now, on a single server, you could still use a persistent object cache with one of the other lesser known plugins that mimic what the memcache interface does. There is one for Eaccelerator, one for APC and one for Xcache.
However, all of these caches do almost the same thing as MySQL’s cache. They are all tied to the particular kind of query that is done and if it matches the previous set of data. The object cache still has to de-serialize data if it’s serialized.
MySQL on a single server system does not use tcp/ip to communicate with bbPress if it’s properly configured (and most are unless your host is greedy and stupid and uses a central mysql server separate from your regular server). So MySQL with a properly configured cache is almost as fast on a single server setup than a persistent object cache (unless MySql is overloaded in the first place).
So in conclusion, if you are on a shared host, object caching is not a viable solution for you because you can’t get any of the persistant memory options installed anyway. If you are on a single server setup but not dealing with a large number of connections, the mysql cache is probably going to be near the performance of a persistent object cache, and the real memcache would never be used in the first place.
Memcache was meant for large, inefficient installs like WordPress.com
WP.com serves many thousands of people simultaneously from many different servers. It uses several dozen queries per page load. It absolutely cannot just rely on the mysql cache, even with dedicated mysql servers. The average wordpress/bbpress user does not face these problems typically.
If you have your own VPS or dedicated server you should be installing an opcode cache like Eaccelerator, APC or Xcache and turning on the shared memory pool option (typically during compile). Then you should make sure your mysql cache is ON and setup properly. Then you should make sure your pages are not using too many queries. If you’ve done all that and you have so many simultaneous visitors that your mysql is running too high a load and your pages are still too slow, then you can look at one of the persistent object cache modules for wordpress and port them to bbpress.
None of the bbPress installs in the Top 10, are using memcache or any kind of object cache for that matter (including wp.org which is using bbPress 0.9). So I sincerely question the need of anyone else using an object cache just yet unless they have made their install extremely inefficient somehow or have a horrible host.
In reply to: bbpress and memcache?Memcache is only useful for multi-server installations otherwise it has too much overhead.
Eaccelerator, APC and Xcache have shared memory solutions that are significantly faster than memcache on a single server setup. But on a single server, it’s also been demonstrated a proper mysql cache can be faster than an object cache in some cases.
Eaccelerator, APC and Xcache can already store server session data in shared memory, you just have to compile with the option and turn it on in PHP.
There are plugins for wordpress that could be ported to bbPress 1.0 for the object cache but IMHO it’s a waste of time unless you have a very slow or overwhelmed mysql server.
In reply to: What kind of server i need?They are putting netbook cpus in servers now?
That’s kinda weird. They must be very slow.
In reply to: Open Links in new windowMy code is still working perfectly for me. Post what you are actually using.
In reply to: All setting use cacheNo, the problem is much worse in 1.0.x
Not only does the setting have no effect, 1.0 has a “reserved” option list which forces all foreign options (ie. set by plugins) to default to non-autoload, causing an extra query for each one unless they specifically add themselves to the auto-load list.
So other than hacking nearly every single existing plugin, you can try my workaround:
https://bbpress.org/forums/topic/heres-how-to-fix-some-of-the-10-query-performance-regression
In reply to: Can I remove features from BBCODE BUTTONS?When you do it for the code line make sure you put it after the echo part, ie.
echo "// BBcodeButtons.push
The reason why there is so little documentation is because there aren’t any donations for my plugins so there is no development/documentation. There is no support, keep that in mind when you take something for free and then want to customize it.
Well I guess there’s a different forum program for everyone’s tastes.
Personally I’ll be sticking with bbPress as I am not particularly impressed.
Good luck with your conversion.
When I click the plugin filter and select more, I only see ~40 items in there.
Even the entire unfiltered list is less than 50 items and only one is labeled vanilla2.
So the 450 is from their own claim I guess, which must be unhosted plugins.
They also claim 300k people using it, which might actually be how many people have downloaded it, not using it, unless they have a “phone home” function.
They have a clean layout but their plugin structure is a bit confusing.
In reply to: Can I remove features from BBCODE BUTTONS?Simply put two slashes in front of any code you want to disable.
ie.
// BBcodeButtons.push(new BBcodeButton('ed_ol','OL','
-
','
// BBcodeButtons.push(new BBcodeButton('ed_li','LI','[*]','[/*]','l','','list item'));";In reply to: Navigation not working only for Page 1If this appears in your
front-page.php
, then you have bbPress 1.0.x and you have a bug<?php bb_latest_topics_pages( array( 'before' => '<div class="nav">', 'after' => '</div>' ) ); ?>
The same bug was in some rare cases of 0.9
and I programmed around it in
topics-per-page
I doubt it will work properly on 1.0 but you can try installing the plugin, remove the above line and replace it with
<div class="nav"><?php front_page_pages(); ?></div>
There is a disable display name plugin for this very purpose.
I’m willing to bet permissions are NOT correct despite what you think.
Chmod
/my-templates/
and/mythemetest/
to 750In reply to: forgotten usernameRecovery won’t allow email. But I did login via email.
Recovery via email address would be a good suggestion for TRAC.
In reply to: forgotten usernameYou can login with your email address in 1.0 and I made a plugin for it in 0.9
In reply to: Akismet marked a bunch of your posts as spamI went back several days more and found a dozen more posts.
Akismet is failing badly.
Also these two users need to be set as inactive/blocked: doctorwelcom jokchari
they are overwhelming the spam queue
In reply to: Sneak peek at bbPress.org 2.0I think too many people are confusing the new theme look for THIS WEBSITE (bbpress.org) with the bbPress software
bbpress.ORG is not bbPress 1.0, the first is this website, the latter is the software program
Sam is showing how THIS WEBSITE will look soon, the new theme.
It has nothing to do with bbPress 1.0 (except that of course this website is for support of bbPress 1.0)
In reply to: Sometimes Less Is Just Less“Easy integration with your blog” <- if that’s the biggest problem you have with what bbpress promises, you are doing great. I actually have a problem with two of the three words in the upper right hand corner of every page on bbpress.org due to 1.0
Why is it hard to put a bbpress login box in wp? Pull up the bbpress login page in your browser, view the source and copy everything between
<form... </form>
and paste it into WP wherever you’d like and add a little bit of PHP code to detect if the user is logged in or not to offer them the form. 10 minutes tops.What are you using now for avatars in WP?
Plugins are not hacks. Hacks are when you hack the core.
Is the phpbb solution a clean copy of phpbb with plugins or is it’s core heavily hacked, hence cannot keep up with upgrades/security fixes easily?
In reply to: Sometimes Less Is Just LessAs far as I know, bbPress adds no special abilities or requirements to BuddyPress, it’s simply able to use the usertable directly, so you in theory should be able to use your phpbb solution with BuddyPress too.
You have to understand bbPress was never designed originally to deeply integrate into WordPress, only use the user-table. Deep integration was an afterthought – years after it was originally released and a mish-mash of legacy was established. Matt had a 180 degree turnaround on that process with bbPress 1.0 being rewritten to use BackPress instead. If WordPress ever is redesigned to use BackPress itself (don’t hold your breath, it could be years) deep integration could be even easier and much lighter weight.
I’m not saying this to be mean or unfair, but very simply, if you don’t like something you see in bbPress 1.0, don’t adopt it now thinking it will change sometime soon, it won’t and you’ll only be very disappointed. bbPress development is quite obviously NOT developed around user requests, it’s developed around Automattic requirements. It’s the exact same thing for WordPress and nothing new policy-wise. Everything else is left to plugin developers.
That said, I would stop using bbPress in heartbeat if they started throwing in many of the features that people are demanding be included as built in. I already have a big enough problem with many of the hardcoded “features” already.
In reply to: Sometimes Less Is Just LessSo are you using that phpbb3 integration?
If it works so well, I am curious why you are here?