When using the BuddyBoss App, you need to have some special considerations as it is a highly dynamic mobile application, with potentially many users logging into it simultaneously. If you are already hosting a website powered by BuddyBoss Platform or LearnDash, you will be happy to know that the BuddyBoss App performs substantially faster than the web versions of these plugins due to the advanced caching system we have built, explained more below.
The BuddyBoss App is a native mobile app for iOS and Android. The app itself is powered by the user’s phone hardware, however the content in the app is coming from APIs that request data from WordPress. The primary bottleneck to performance is how fast the API responses can be generated by WordPress, which determines how long the app will need to wait to receive an API response to get the data it requested.
When you enable API Caching in the BuddyBoss App plugin settings, the plugin automatically caches most API responses from BuddyBoss Platform and from LearnDash, so that subsequent visits in the app are pulling data from a pre-built cache instead of waiting for WordPress to generate the data in real time. The cache is unique to each user and automatically updated when data changes in the app or the website. This feature will work out of the box on most servers.
The benefits from caching are that individual page loads in the app are faster than the web, and the app can handle more concurrent users at a time than the web, as only a small percentage of the requests are actually going through WordPress. If some portion of your existing traffic shifts from the web version of your community to the app, you should actually see a reduced burden on your server resources, provided that you have enabled API caching.
In the future we will integrate this same technology into BuddyBoss Platform, to improve performance and scalability on the web platform, and to allow a user’s cached data to be automatically shared between the app and the web.
We strongly recommend hosting the BuddyBoss App, and BuddyBoss Platform, on cloud hosting. Shared hosting is not powerful enough for an interactive application, and dedicated servers / virtual private servers are not able to scale up and down easily. With cloud hosting, you can easily increase the server’s resources as needed with little to no downtime. Make sure to read our Hardware Requirements section below to determine which hosting package you will need to purchase from your selected cloud host.
Amazon Web Services
When it comes to cloud hosting, the first provider that comes to most people’s minds is AWS. It is true that AWS is the most customizable, and can be the most affordable at scale, if configured correctly. Our own demos are hosted on AWS. However it is also extremely complicated to configure and maintain, and they provide minimal support. You are basically just leasing hardware from them and you are expected to know how to configure everything yourself. We only recommend AWS if you already know how to use it, or if you have someone on your team who is experienced with configuring AWS applications.
If you want a more out of the box solution, we recommend going with a managed cloud option that provides customer support to handle all of the technical configurations for you. There are many options for cloud hosting. Some recommended ones include:
Cloudways is a great managed cloud hosting solution. They provide a friendly user dashboard and have 24/7 customer support. You can use Cloudways and have them host your actual website on Digital Ocean or AWS hardware in the background, however you will have less access to the server than those services, as most configurations are handled by Cloudways support. For someone who wants to focus on their business and not worry about hosting, Cloudways is an ideal provider.
Digital Ocean is a great, cost effective cloud hosting solution. They provide a lot of hardware for the cost, and are developer friendly. Their service is built for developers and customers who want to be hands on. If you want a scalable solution that you can configure yourself, with less complexity than AWS, then Digital Ocean is a fantastic option.
The above recommendations are based on our own experience and testing. There are many other cloud hosting providers who can provide good resources and support. If you are already hosting your BuddyBoss Platform or LearnDash website on another cloud host and everything is running smoothly, you likely will not need to switch hosting providers.
The usage of CPU, RAM, and storage space can vary significantly depending on many factors. These hardware recommendations are based on our own tested deployments, testing an app powered by the BuddyBoss Platform and LearnDash plugins, with 100% of the user traffic in the app, and with API caching enabled.
If you are using additional plugins, or if a significant portion of your users access your community from the web, you may need additional hardware. Additionally, your resource requirements may grow or shrink depending on how active your users are, and how many photos, documents, and other media they upload. With cloud hosting you can increase your hardware at any time without migrating your website.
|Up to 500 Concurrent Users or Less||Up to 5,000 Concurrent Users or Less||Up to 10,000 Concurrent Users or Less|
|Memory / RAM||16 GB+||32 GB+||64 GB+|
|CPU||8+ Cores||8+ Cores||16+ Cores|
|Storage||50 GB+ (depends on the amount of media uploaded by users)||80 GB+ (depends on the amount of media uploaded by users)||100 GB+ (depends on the amount of media uploaded by users)|
|Network Bandwidth||1 Gbps+||1 Gbps+||10 Gbps|
Server Software Requirements
Ask your web host to configure your server with the following:
- Linux operating system
- NGINX or Apache
- PHP version 7.3.0 – 7.4.16
- MariaDB version 10.1+ (or MySQL version 5.6+)
- SSL (HTTPS support)
MariaDB is an open source alternative to MySQL and is recommended over MySQL for performance benefits. Just ask your web host to use MariaDB if available.
NGINX is noticeably faster than Apache, as it can support more http requests at the same time. Just ask your web host to use NGINX if available.
Things to Avoid
Make sure your web host is not doing any of the following:
- Blocking API requests to external applications
- Requiring WordPress to use the web host’s caching system
- Disabling core WordPress features
Some WordPress-focused web hosts have artificial limitations to improve performance of WordPress sites, which is useful for static sites such as WordPress blogs. However this can create problems for a dynamic application that has thousands of users requesting unique data in real time. We recommend sticking with general purpose cloud hosts that provide a lot of performance for the cost, and avoiding any web hosts that limit WordPress and other features.