Performance Comparison Of NewBB 1 Vs NewBB 2

Categories:


THE TEST ORIGIN

I decided to create this article for two main reasons. The primary one was due to the regular postings on the official Xoops forums reporting slow loading times after upgrading from NewBB 1 to NewBB 2, and I wanted to provide some data which could put some kind of gauge on the performance differences between the two versions. The other main reason was due to the fact that we are looking to upgrade from NewBB 1 to NewBB 2 over at IIS Resources which at the time of writting this has nearly 7000 members and approaching 14,000 forum posts. With a community this size, and as active as they are, the is a very real potential that the site would be deeply impacted by any kind of significant performance hit the upgrade might bring.

THE TEST ENVIRONMENT

The Test

The test itself consisted of NewBB 1 setup with default settings, NewBB 2 setup with default settings, and NewBB 2 setup with optmised settings. The default setups are pretty straight forward, with the modules just being run with the settings as they are when the modules are first installed. With the NewBB 2 optimised setup I changed over a dozen settings in the Newbb 2 preferences menu which I though would improve performance. These changes where;

  • Img Type = GIF
  • Enable PNG hack = No
  • Enable Cache = Yes
  • Enable Media Features = No
  • Enable Who's Online = No
  • Enable HP/MP/Exp Mod = No
  • Enable Userbar = No
  • Enable Groupbar = No
  • Enable Thread Rating = No
  • Enable Quick Reply = No
  • Enable RSS Feed = No
  • Show Jumpbox = No
  • Show Permissions Table = No
  • Enable Karma Requirement = No
  • The Servers - Hardware

    I conducted the tests on my workstation which represents a fairly standard PC configuration for this day and age. This however is still more processing power than most people will have available to them in shared hosting environments which is noted in the considerations section of this article.

    Server Specs:

  • Pentium 4 2.4Ghz (18 x 133Mhz)
  • 512MB PC-2700 DDR SDRAM
  • Intel 865G chipset based motherboard
  • 40GB ATA-100 IDE HDD
  • 100MB PCI LAN adapter
  • The Servers - Software

    Another very important factor in getting relevant results was to ensure that the servers operating environment was kept identical for each test. For this the first thing I did was carefully define what software was to be used which I broke down into categories;

  • Operating System: Windows XP Pro SP1
  • IBM Page Detailer Basic
  • Internet Explorer 6 SP2
  • Webserver: IIS 5.1
  • MySQL Version: 4.0.20a-nt
  • MySQL Manager: MySQL Front 2.5
  • PHP Version: 4.3.8
  • PHP Configuration: Fast CGI, Turck MMCache & Zend Optimiser enabled
  • Xoops Version: 2.0.9.2
  • Xoops Environment: Default theme, GIJOE auto login hack, all pages set to display no blocks, or other content (including Xoops ad banners) so as to ensure accurate execution time and MySQL query count recordings. Persistent connections were set to off, and the MySQL database was hosted on the same server.
  • Xoops Modules: NewBB 1 & NewBB 2 Final
  • Xoops Database: Archive backup of IIS resources with 2023 topics and 9784 posts
  • With this environment setup I then created shortcuts to each of the index, topic, and thread views. This was to ensure that I was accessing each view directly so as not to incur any additional overhead from the Xoops system itself.

    GATHERING THE DATA & TEST WORKFLOW

    Gathering the data and inserting it into a spreadsheet was done manually, which consisted of enabling the MySQL debug block in the preferences area of the Xoops admin panel and having IBM page Detailer Basic running in the background to collect data from Internet Explorer. When I ran the test I entered the execution time and MySQL query count from the Xoops MySQL debug block, and the HTTP requests, content size and loading times from IBM Page Detailer into the relevant spot in an Excel spreadsheet I had prepared.

    This is how the test workflow went;

  • Open browser on computer where I was running the tests from.
  • Clear Internet Explorers temporary Internet files (except for cookies)
  • Opened the index view page and entered data to spreadsheet
  • Clear Internet Explorers temporary Internet files (except for cookies)
  • Opened the topic view page and entered data to spreadsheet
  • Clear Internet Explorers temporary Internet files (except for cookies)
  • Opened the thread view page and entered data to spreadsheet
  • CONSIDERATIONS & LIMITATIONS

    As always, no testing process is ever 100% perfect, and this one is no exception. There are always some elements you cannot control, and always some things that don't always represent a real world environment. Below is a list of considerations and limitations of this test that I can think of. If you can think of any others, please let me know and I'll add them.

    Considerations;

  • All tests were run using one session representing only one user on the server. In the case of real world environments the execution times can be quite a bit worse than what is displayed in this analysis. In cases where there are multiple users it is not as simple as multiplying X users by the execution time shown in this analysis as other factors to do with server config will come into play.
  • The MySQL server database for Xoops was hosted on the same physical machine as the Xoops website in all cases. In real world environments where they are hosted separately, execution time will be negatively effected. As the MySQL query count rises, so will the execution time due to the lag times introduced from have to establish and transmit data over a network connection.
  • Although the PC used to conduct the test represents a standard PC in this day and age, it still has more processing power than what most people will have access to in shared hosting environments.

    Limitations;

  • Both modules where set to run with no caching enabled to ensure accurate MySQL query count. With module caching enabled all of the tested modules would experience notable performance increases.
  • Limited to use Internet Explorer as the browser as it is required in order for IBM Page Detailer to work.