2 Jan 27, 2016 17:09
2. Performance bottlenecks
My machine configuration:
CPU: Intel (R) Core (TM) i7-4790 CPU @ 3.60GHz 
For testing, I used b2evolution-6.6.7-stable-2015-12-31.zip which made no change, and except the user 'admin', created no data at start.
Then, I used the testing tool to create 5000 users. The user group is set to "New users automatically get a new blog", so also created 5000 blogs. At last I created 10 000 articles in the first blog.
Of course, I removed the front and back office b2evo bar links for they are almost filled all the screen (I used an empay array to replaced the $blog_array, the code is $blog_array=array();), and then the appearance of the display is very simple without any additional content.
Finally, I found the following problems in the course of using:
A.Submit a comment would take a long time (about 12 seconds)
I opened the debug mode and note the code
//header_redirect() on the bottom of the content of the file
htsrv\comment_post.php, then found the debug infomation as follows:
SELECT DISTINCT user_email, user_ID, uset_value as notify_moderation FROM evo_users LEFT JOIN evo_blogusers ON bloguser_user_ID = user_ID LEFT JOIN evo_bloggroups ON bloggroup_group_ID = user_grp_ID LEFT JOIN evo_users__usersettings ON uset_user_ID = user_ID AND uset_name = "notify_comment_moderation" LEFT JOIN evo_groups ON grp_ID = user_grp_ID WHERE ( ( bloguser_blog_ID = 1 AND bloguser_perm_edit_cmt IN ( "anon", "lt", "le", "all" ) ) OR ( bloggroup_blog_ID = 1 AND bloggroup_perm_edit_cmt IN ( "anon", "lt", "le", "all" ) ) OR ( grp_perm_blogs = "editall" ) ) AND LENGTH(TRIM(user_email)) > 0 [Show less] Rows: 2 – Time: 12.1239s (99.87%)
I pasted this code to phpMyAdmin to execute, still performed 12 seconds.
B. Main / Home type site displayed too slow (about 10 seconds)
First, I changed a blog to Main / Home type , and in the widgets page , I removed all of the options except Featured / Intro Post, Recent Posts (Simple Post list), Recent Comments (Comment list).Finally redirect to the page , it took 10 seconds to display. Every time I refresh the page, spent time always the same, just 10 seconds.
However the debug information was shown 3 seconds in total.Then I found a long sql statement, although the execution time of that sql is not long, the transmission may take much time.
C.Admin/Moderators back-office management
Here only for administrators/moderators who get advanced privileges.In the back-office, Review articles and comments took a long time to display. See more, please check the following pictures.