Login Register

AsmBB test on large Database

#16105 (ツ) ganuonglachanh
Last edited: 11.04.2020 by ganuonglachanh , read: 2985 times

Hi johnfound

I tested AmsBB with forum contains 213407 posts in 212848 threads (2,8 GB sqlite size) at local machine. Some note:

+ Overall performance is good, query for 1 connection is fast enough. DDos protection worked!

+ Slow when test with 50 concurrent connection: Page processing time: 2513.268 ms

+ Very slow with 100 concurrent connection: > 20s

I did not upload avatar for user, if I did the DB size will be much larger because AsmBB save image to DB.

Suggestion: save avatar to disk, much faster and less work for DB.

If you need some test, please tell me, I will try my best.

Thank you!

#16112 (ツ) johnfound
Last edited: 04.05.2020 by johnfound, read: 2837 times

This is very good information. I hope some changes will be made. It can be as simple as an option to choose DB storage or disk storage. Lacking such an option or change will hold back this software.

The problems with the disk storage are two:

  1. The security. Saving user files on the disk is pretty risky. On possible bugs, the security breach will be possibly very serious.

  2. The performance - actually, storage of the user files (attachments and avatars) on the database might be even faster than storing them on the file system. At least there is information that for small files, SQLite is faster than the file system.

In addition, the performance of AsmBB is actually not directly related to the size of the database file. I would guess that adding user avatars will not slowdown the forum significantly.

P.S. Also, the data set used by ganuonglachanh looks not very balanced. I mean, it contains too many threads with only single post. Which is not how the real forum database looks like. This way, it is possible some of the SQL queries will not be fully optimized for this structure of the data.

I would suggest, on the testing data sets to have threads with random number of posts from 1 to 1000.

#16114 (ツ) ganuonglachanh
Created 06.05.2020, read: 2801 times

For the avatar on disk, if you're using nginx server then nginx will server static image directly without send to backend, save some operations of engine and sqlite.

I think Sqlite is good, but with large database file, maybe the disk (HDD) will not fast enough to move/seek the data.

If you need the 'real' database, checkout the forum about coronavirus I found here :

I think it is fast rofl

#16176 (ツ) Jeff
Created 15.09.2020, read: 1983 times

I'm new to Asmbb but what i have seen at other forum software is the use of pdo. which provides many databse engines See- But Asmbb would need support of php 7.4 +...

AsmBB test on large Database

AsmBB v2.9 (check-in: 42b4bf25137cf180); SQLite v3.31.1 (check-in: 3bfa9cc97da10598);
©2016..2020 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE