Jump to content
bbh_blocked_dnftl
Tiberium Technology® Forums

Welcome to Tiberium Technology® Forums

Welcome to Tiberium Technology® Forums, like most online communities you must register to view or post in our community, but don't worry this is a simple free process that requires minimal information for you to signup. Be apart of Tiberium Technology® Forums by signing in or creating an account.
  • Start new topics and reply to others
  • Subscribe to topics and forums to get email updates
  • Get your own profile page and make new friends
  • Send personal messages to other members.

Recommended Posts

  • Root Admin
Posted

Introduction

 

The IPS Social Suite needs to store lots of different files - there's attachments and profile photos uploaded by members, CSS and JavaScript files, emoticons, etc.

 

In IP.Board 3.x, various images got stored in different places:

  • Files uploaded by users get put in the /uploads directory. If you have a complicated setup, it's difficult to handle these. If you have a load-balanced cluster you need to set up an environment whereby all files are stored on a single server, or all uploaded files are synched between servers, but serving these files over a high-performance CDN can be difficult.
  • CSS, JavaScript files, images and emoticons get put in /style_* directories. If you want to serve these over a CDN, you can do so, but you need to copy the files over yourself.
  • Other pieces of data are written to disk as a caching mechanism. This has the same issue with load-balanced environments as file uploads.
  • Some applications had other methods - for example, IP.Downloads allows you to store files on a remote server using FTP.

In 4.0, we wanted to pull this all together and build a much better system for storing files and build the whole system with high-performance environments in mind.

 

 

File Storage

 

In 4.0, you have several different ways to store files:

  • On a local server
  • On a remote server using FTP (which you can use to upload files to many CDN services)
  • As binary data in the database
  • On Amazon S3
You can set up different configurations and choose which configuration to use for different types of files. For example, if you want to store user's profile photos on Amazon S3, but you want attachments to be on the local server, or even a different Amazon S3 bucket - 4.0 can handle that. And if at any point you change your mind about which storage method you want to use, the system will automatically handle moving all the files for you.

 

Everywhere that writes a file will use this central system - so IP.Downloads and IP.Gallery are included too.

 

 

 

 

Caching

 

There are lots of places throughout the suite where the same stuff needs to be retrieved or calculated over and over - for example, certain configuration settings, language data, information about the installed applications, etc. If this data can be cached, not only does it alleviate database load, it means the PHP code doesn't need to re-process the data.

 

In IP.Board 3.x, some of this was stored in a particular database table and could be cached using a proper caching system - but it was difficult to configure, and not everything used it - compiled HTML templates, language strings and more were saved as files in the /cache directory, which causes difficulties for load-balanced cluster environments.

 

In 4.0, we've overhauled all of this. For things that need cold storage (like compiled HTML templates) - you can choose either the file system or the database for storage. The data can then cached, along with anything else which might benefit from caching (like settings, application data, etc.) using one of 5 supported caching methods:

  • APC
  • eAccelerator
  • Memcached
  • Wincache
  • XCache

View the full article

 

View the full article at IPS

 

 


My Free Mods:
[NG23] News System v1.1.1 | Custom Pages v4.2 | (NG30) Google Adsense Ads v1.2.2
(NG30) Google Ads In Topic View v1.1.1 | (NG30) iClient Message In A Bottle v1.1.0 | (NG30) Forum Icon Legend v1.0.1
(NG30) Registration Notes v1.0.0 | (NG30) IP.Chat Message v1.0.0

My Paid Mods:
(NG33) Global Adverts v2.1.0 | (NG30) Rotating Banners v1.1.0 | (NG33) BuyNow BBCode v2.0.0
(NG33) Members Donate Button v1.0.8 | (NG33) Xbox/Psn Tags v1.0.3
(NG30) Image Align BBCode v1.0.0 | (NG30) Topic HTML v1.0.0 | (NG30) Google Checkout v1.0.0 | (NG30) LightBox Link BBCode v1.0.0

Mods In Development:
(NG33) Social Groups Addon - Group Payment Button | (NG33) Global Ads v2.2.0 Alpha 1

My Services:
Mod Installation Service | Skin Installation Service | Forum Upgrade Service

25d62e68d76cd7f75667a83cf86de91d.png571a3be8802342dcad9f07b714798cab.pngd650fe3d5d63fbbbab3604d6dc2414a0.png45b90d1ccf717d0a8f5d408051b94ef2.png
cacd42cb21d2574e269f68f0e79192dc.png62544e0b76b142e25661166266eb7944.png9fd72f98b8e65b7fb691407ee5d42391.png
b7abd2a44678e89c2bb3aa91e401ea99.png9687ca76387f2ede1fbb7df8d2508b3e.pngc8c57eb84a468892635126acaf75ff6f.png

---------------------------
For Support Questions About Your Hosting Account, Please Post Your Question In The HelpDesk System.
http://www.tiberiumstudios.net/Files/Sigs/sig.gif
---------------------------
My YouTube! Channel
The Price of War Clan.com
---------------------------

NXE:
NuclearGeneral.png
NewNXE:
NuclearGeneral.png
DarkSigBar:
NuclearGeneral.png
XboxOneSig:
NuclearGeneral.png
XboxOneSig2:
NuclearGeneral.png

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, & Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.