Status
Not open for further replies.

pmraiders

Customer
My current server configuration is a load balanced farm of Amazon EC2 instances that we use to automatically scale with load.

Because of this, storing user session data like the shoutbox does to track active users on an individual server's file system is quite ineffective, especially when you consider that a backend server can be replaced or scaled down at any time. I found where the software reads active user data from (chatlist.php, line 90-140 ish) but I haven't been able to find where the software writes these files.

I intend on moving the file functionality to the database so my active users box is effective for my staff, but I need to know where the software writes to the dbtech/vbshout/aop folder.

Thanks for your reply.

Edit: I realize that the file storage method is a way to greatly speed up the shoutbox and reduce server load. If you have any ideas for alternatives please let me know.
 
Last edited:
That's not actually checking for active users, the AOP system is checking for new shouts for the various shoutbox tabs you have open :)


You can look at the fetch_aop and set_aop functions in /dbtech/vbshout/includes/class_core.php - you'll also need to change a AJAX request in /dbtech/vbshout/clientscript/vbshout.js, search for aopFile[instanceId].

Unfortunately we cannot give you exact instructions nor code the new AJAX request for you.

You should know that even with a load balanced setup this may significantly negatively impact your performance, as initialising the database layer, connecting to the database and checking for new shouts in every tab can take a lot longer than simply checking the contents of a .txt file.

You should also know that we won't be able to provide support for these customisations, so if anything goes wrong or stops working after you've customised your files, we'll ask you to revert the customisations / revert them ourselves by re-uploading the stock files if we're doing on-site support (so keep a backup!) :)
 
That's not actually checking for active users, the AOP system is checking for new shouts for the various shoutbox tabs you have open :)


You can look at the fetch_aop and set_aop functions in /dbtech/vbshout/includes/class_core.php - you'll also need to change a AJAX request in /dbtech/vbshout/clientscript/vbshout.js, search for aopFile[instanceId].

Unfortunately we cannot give you exact instructions nor code the new AJAX request for you.

You should know that even with a load balanced setup this may significantly negatively impact your performance, as initialising the database layer, connecting to the database and checking for new shouts in every tab can take a lot longer than simply checking the contents of a .txt file.

You should also know that we won't be able to provide support for these customisations, so if anything goes wrong or stops working after you've customised your files, we'll ask you to revert the customisations / revert them ourselves by re-uploading the stock files if we're doing on-site support (so keep a backup!) :)

I completely understand. Thank you very much for pointing me in the right direction, I understand that I am on my own with these modifications.

I was looking at that chunk in chatlist.php, and it looked like it was assembling the active users block by reading from the files in that directory. Lets say I leave everything as-is, will there be any problems with chatbox functionality versus running everything on one server? The actual chatbox seems to run okay, and during a short trial period with one larger instance I noticed no change in active users behavior.
 
Well, the load distribution is only across DB servers, right? It's still one HTTP server serving your requests, or?
 
Well, the load distribution is only across DB servers, right? It's still one HTTP server serving your requests, or?

Load balancer balances to a dynamic number of apache webservers, which hook up to a master/slave configured mysql backend.

For example: 2-3 apache servers and 2 sql servers in master/slave.

Thanks for your reply,
Jordan
 
I see, in that case I have no idea what will happen - I would imagine that if the AOP files were not found, it would not function properly.

Do you also store attachments in the DB then? Or do you have some sort of replication available for files too?
 
Status
Not open for further replies.

Legacy vBShout

vBulletin 3.8.x vBulletin 4.x.x
Seller
DragonByte Technologies
Release date
Last update
Total downloads
3,167
Customer rating
5.00 star(s) 1 ratings
Back
Top