We have tested MyBB version 1.8.5 with a very large amount of data of which had the following characteristics:
mySQL Database 5.5
1 Million Plus Posts
1 Hundred Thousand Plus Forums / Sub-Forums
63 Thousand Plus Users
our php5.ini file was configured as follows:
memory_limit = 2048M ;Maximum amount of memory a script may consume
max_execution_time = 180
max_input_time = 60
upload_max_filesize = 200MUSAGE:
With this configuration phpbb3 has failed miserably and did not work at all. It worked fairly well with a relatively small amount of forums but as it gets larger it will become horribly slow; if it works at all. It is not the database that is the issue for it can handle much more data than we provided, it was the was the MyBB software was written. The issue of caching the entire forum is the downfall of this system for really large forums.DATABASE:
The database design does not have enforced table relationships. This is not bad per se but it would prevent a developer from accidentally deleting a topic without deleting all the post for that topic first (safety measure); the same would go for deleting forums.MODS:
MyBB has a large array of MODs written for it and this makes it easier to configure your system the way you want it.Pros
- The tools provided in the Administrator Control Panel are very effective to repair and keep your database functioning and optimized.
- Cannot handle more than 65536 forums due to the table datatype, this seems to be a small over-site of the MyBB developers. The forum ID datatype is set to smallint(5) and should be int(10) like most of the other tables in the database. All ID's in all tables should be set to INT(10) to erase this limitation and make the tables consistent throughout. Due to the way MyBB tables were designed our amounts of data could not be imported and would not work in the original configuration. When we changed the datatype to be correct we were able to import all of our data and the limitation no longer existed.
- Even after changing the database ID fields and uploading the data, MyBB would not run at all. This was due to the application caching the whole forum and it does not have the memory to accomplish this. There is no reason to cache an entire system unless it is relatively small. If the system plans to grow this becomes impossible