Before Using WordPress for any high-traffic website, it is important to ensure that the website is ready for dealing with the high incoming traffic volumes. WordPress is certainly proficient in managing high amount of incoming traffic volumes, however there are limitations on what can be done by any website platform by itself. When changes are made to the web hosting account/server, file sizes, caching system, you must make sure that your website does not slowdown or crash after receiving just a few hits.
What could be the reasons? And what are the solutions? Take a look….
Similar to any other web application, WordPress is only capable of handling the volume of traffic supported by the hardware. Basically, there are two main barriers that might prevent your website from functioning effective in terms of a high traffic volume.
- Processor Limitations
- Network Limitations
High traffic levels can put a load on your server’s internal resources. Make sure that your web hosting server is equipped with sufficient processing power and memory resources to meet the website requirements. The default website requirements for WordPress are mentioned below. However, in some cases individual websites might need additional resources.
Just like many blogging and web applications, WordPress uses MySQL for storing data and producing output. Every request that is made by WordPress to MySQL including the read and write operations creates some amount of load on the server. WordPress is continuously tweaked for reducing the number of MySQL requests required for regular operation. However, the development measures taken in case of the themes or plugins might increase the amount of MySQL usage required for running a website. In the situations of high incoming traffic, many simultaneous database connections are generated that might cause a strain on the server. When there is an incomplete connection to the server, ‘Connection timed out’ response is displayed in the visitor’s browser.
The MySQL connection status can be improved by either adjusting the MySQL settings or providing more memory and processing power to the server. Moreover, by utilizing query caching and by proper indexing, you can improvise the MySQL performance. Note that there is no single solution for very case, the functionality of every website is different.
WordPress is a web server friendly application, this means that it can run on various platforms. Apache and Linux are the most proficient platforms for operating WordPress but any server that is powered by PHP and MySQL will also function perfectly. Make sure that your web host provides an up-to-date and stable version of PHP and MySQL for creating a powerful environment for running WordPress.
PHP is the language that interprets the WordPress code. If the method selected to run PHP is not right, it can also affect the server performance. In the CGI mode, the server generates a new instance of the PHP program for every PHP file requested by the visitor. In the shared module mode, every PHP request is managed by a single library instance.
A slow internet connection might create a limitation in terms of the number of pages that can be served by your server within a particular period of time. The network provider of your server (your web host / ISP) usually connects your server to their internal network through an ‘Ethernet’ adapter. Adapters generally operate at certain maximum speed level that is generally 10Mb/s or 1Gb/s. Your server cannot perform the transmission of files faster than the speed of the network connection. In addition, there are many other aspects that can impact the actual transfer rate witnessed by your server.
Initially, it is crucial to note that many of these numbers (including the speed of your server’s network adapter) are theoretical. In reality, your server will never transfer files at the maximum speed given by the adapter. The reason behind this is that along with the actual data that is transmitted, the server also transmits the router information required for getting the website data to your visitors. As a result of this ‘network overhead’, only a part of the server’s complete bandwidth is available for transmitting the files.
Another aspect is that your server is likely to get connected to many devices present in your network provider’s facility. These devices might also create limitations on the speed that your server might attain. The devices are in place because the network provider has to distribute the limited bandwidth within many servers at the given location; and all the bandwidth present must be shared.
Some network providers might allow you to ‘burst’ the data. This means you can temporarily exceed the prescribed transfer speed limit in case of high incoming traffic volumes. The network provider’s hardware is created to identify the situations when this is required. Some providers might charge an additional amount for providing this feature while some do not and others don’t offer this feature at all.
Network Transfer Speed In Use
In order to determine why the bandwidth of the connection is crucial to a high traffic website, you must do a little maths!
Yes you heard it right…..maths!
Let’s assume that your website received 100,000 hits in a day. We will also assume that one hit is a single data transfer irrespective of whether it is a single file or a whole web page including its supporting files. Taking the average of this, 100,000 hits in a day equals to 1.16 hits per second. Let’s also assume that the average hit creates 160 KB of transferred data comprising of HTML, CSS, images, downloaded files etc. This goes on to say that your website is transmitting 190 KB of data every second. Most of the network speeds are rated in ‘bits per second’ whereas the file sizes are measured in ‘bytes’. Many network providers curb the transfer rate of a website in this label; some might rate it higher and some might rate it lower. However, this is a sturdy rate that can only be maintained if every individual user visits the website at regular intervals.
Usually, it happens that more than one visitor visits your website at a given point of time. On the other hand, there are many time periods when nobody accesses your website. If 10 people suddenly visit the website in one second, and this hit period is maintained over a long period of time, then you will need a 15 MB/s connection for maintaining the simultaneous connections.
If the network adapter’s speed is only 10MB/s, then in this case the demand of your website has already exceeded the capacity and in this instance, the network is the reason for your traffic problems, not WordPress.
A 100 Mb/s connection can manage up to 70 simultaneous connections with the same rate of download. However, most of the network providers might not offer the required bandwidth in the shared hosting packages. You will have to opt for a VPS or a dedicated server as per your website requirements.
Hosting large files like podcasts, videos or large photo galleries might create a risk of transfer overages for you. The hosting package often stipulates a maximum limit of data that can be transferred in a given space of time. Once your account has reached that limit, you will be charged for additional data that is transferred. Usually, with a higher transfer limit, the cost of your hosting plan might increase. Some web hosting providers offer plans with no transfer limitations (unlimited web space and bandwidth). However, it is important to select the right web hosting platform depending on your website requirements rather than opting for an unlimited plan.
High Traffic Solutions
WordPress can function at its best only when it is raised to proper conditions. Here are some important things that you can try if you think that high traffic is hampering your website’s performance:
W3 Total Cache Plugin
Web Page Caching : W3TC plugin helps in terms of reducing the response time by creating static HTML versions of web pages. This enables the web servers to serve them without invoking PHP. The cache is automatically updated when comments are made or pages are edited.
Database Caching : The database queries/objects are also cached. This enables many websites to decrease the time required for generating new pages. This is especially helpful for the websites that get a lot of comments.
Headers : The headers are managed by W3TC including the cache control, expiration time, entity tag etc. As a result of this, caching of files in the web browsers is controlled thereby reducing the server load and improving the website performance.
The W3TC plugin can be utilized for optimizing WordPress websites in both single server and multi-server environments through either the shared hosting or dedicated hosting platform.
Turn Of Or Limit The WordPress Plugins / Graphics
You may notice the effects of high traffic in a better way if your blog has a high number of code and web design elements. The WordPress plugins are also included in the files that are ‘called’ by your WordPress theme. In turn, these themes create queries to your database for generating the information present on your blog. The more WordPress plugins you have, the more number of queries will be generated to your database.
You can reduce the number of files accessed and queries created to your database during the period of heavy incoming traffic with the following strategies:
- Reducing the number of graphics on your blog. This can be done by editing the style sheet and template files of your WordPress theme.
- Turning of some WordPress plugin temporarily. Check your list of WordPress plugins to see if there are any unwanted plugins.
New Hosting Server
If none of the above strategies are working for you, then all you need is a new and powerful hosting server. This might seem painful for you, but it is the truth. Upgrade to a higher hosting server and you will feel the difference.