Forums

Unfortunately no one can be told what FluxBB is - you have to see it for yourself.

You are not logged in.

#1 2019-05-21 13:57:12

JJones
Member
Registered: 2019-04-28
Posts: 23

27x Speed improvements ( my edits )

These are a list of changes that i have made that have improved speeds by 27x ( my own bench-marks )

#1 Zend_cache was added / and the fluxbb_write_cache_file function was removed completely I only Incorporated Zend Cache, not the entire Zend_Framework which includes a multi-type cache system ( "memcache", "file cahce", "sql cache", AND "page cache" )... Meme / file / sql are operated as a switch function in which you basically select which option you want ( or completely off ), (file) is default ... keep in mind that "file cache" is basically serialized JSON data in a group/individual/series of groups ( explained reasons later ).

#2 Cats, Forums, Topics & Posts are 99% driven by the cache system to eliminate the need for multiple SQL queries. These "caches" are used in a method that basically "builds itself" in a giant array, however is displayed based on the column structure of the page/forum/topic/post/posts selected.

#3 User Data is stored in its own single cache .... which eliminates the need for 75% "union queries".... AND removes any dependency on "username" as well as any backend "cron tasks" needed to clean the system or additional queries just because someone changes their profile information ( again this basically makes "username" redundant in the core ). This functionality was specifically designed for the purpose of removing any need for additional queries to each topic/post when user information is edited, thereby forcing additional work of having to update all of the other SQL Tables.

#4 Template system was completely removed .... It does STILL check for a tpl file, however defaults to pure CSS... this drastically cut the page generation times due to the overused print( & sprint functions .... This also forces FluxBB to become "mobile friendly" and HTML5 compliant.

#5 File Reduction sizes & quantities ... the edits actually resulted in smaller files due to no longer needed very OLD and SLOW functions. Example: viewforum.php is now a total of 64 lines of code :P Less Function calls = faster page generation.

These edits also resulted in better future functionality like dumping pure PHP variables directly from the cache array to javascript if a person so chooses to use Jquery or AJAX functionality... this ALSO includes the "language files" which can be sent to the browser and stored into the browsers local storage instead of having to feed it every page view ( that includes all of the variables for each post/topic/blah blah )....

[center]Keep in mind, that ALL edits are pure PHP based![/center]

[center]Future Edits on my "To-Do-List" for this coming week:[/center]
1# Default mobile functionality embedding .... already through the use of PHP the category list uses a collapse function, however, to make the topic view a lot easier to navigate without having to reload the page with the new pageid, Jquery can be switched on to convert the existing pagination to "swipe screen".

2# SQL database will be "minified" & redifeined to more "up to date versions of SQL, since a lot of the fields and columns are no longer needed. Example: ( username ) is now redundant through out the entire system, as well as timestamps will be converted to correct timestamp formats.

3# DB Layers will be re-written to drastically improve SQL queries as well as introduce its own internal cache during runtime functionality ( which seems to be what Franz is complaining is the problem of speed with FluxBB but can't seem to understand that the core must be updated first to get to this step. ( I will only be doing this for Mysqli & PDO ... someone else can do PostgreSQL if they want.

Also adding fetch_rowset( in the DB layer so that the insert ID of any table will automatically be the first available number in a sequence ( if you have 500 topics and you delete topic #55 then the next creation of a topic id will be ID 55.

4# Topic titles, Subjects, and individual posts ( text ) will be auto converted to fill the "key words" meta tag for improved spiderbot indexing ( some would call this better SEO practices, but i just call it better indexing ).... the same tool used to create the keywords meta is the same function that generates the core files "Search System" thereby removing the need to run "maintenance mode" as it is done automatically, and without any additional SQL queries or cron tasks. ( same concept as current, but done in a way to add additional functionality and remove the current work from the server )


I do NOT use or support github, so I will not be providing any links to a git repo for link sharing! If you want a copy of the files, and edits, you will have to contact me directly and make a request.

Last edited by JJones (2019-05-21 14:22:53)

Offline

#2 2019-05-22 03:17:00

JJones
Member
Registered: 2019-04-28
Posts: 23

Re: 27x Speed improvements ( my edits )

Last moment Edit:

#6 include( and require( were exchanged with include_once( and require_once( to eliminate some of the "opps" on multiple includes & require function calls.

Offline

#3 2019-05-28 07:26:33

n3c
New member
Registered: 2019-05-28
Posts: 1

Re: 27x Speed improvements ( my edits )

Hello mr JJones, is it possible to obtain that code from you?

Offline

#4 2019-05-28 09:31:22

JJones
Member
Registered: 2019-04-28
Posts: 23

Re: 27x Speed improvements ( my edits )

I apologize, I assumed this forum had a PM systems ..... I have no problem sharing files, how would you propose having them sent to you?

Offline

#5 2019-05-28 18:06:19

quy
Administrator
From: California
Registered: 2008-05-09
Posts: 926

Re: 27x Speed improvements ( my edits )

Maybe you can post as a mod here: https://fluxbb.org/resources/mods/

Offline

#6 2019-05-29 05:28:59

JJones
Member
Registered: 2019-04-28
Posts: 23

Re: 27x Speed improvements ( my edits )

its not a mod ... its a complete ( and ongoing ) core re-write

Offline

#7 2019-05-30 05:08:21

JJones
Member
Registered: 2019-04-28
Posts: 23

Re: 27x Speed improvements ( my edits )

Update: Removing all "Echo" statements from the core, which is being converted to a php variable ( $html ) .... which is only "echoed" from the footer.php file IF the header stipulates to do so!

The purpose of this conversion is in 2 parts:

1) Compression & Buffering is being converted to use what the browser wants ( zip, deflate ( common for chrome ) ) instead of what is defined from the config ...

2) Etag embedding so that the pages no longer need to be served if the content has not changed since last view.

This result allows a user to spam the living crap out of page refresh and all that will happen is a header 304 response code which loads from their browser cache instead of making the server work to server data again...

Offline

Board footer

Powered by FluxBB