How do servers work? A Detailed Guide into Web Servers

how do servers work

Have you ever wondered while browsing your favorite website, that how do servers work? At the mention of web servers, a lot comes to mind as far as the internet is concerned. Web servers play a key role in internet-based communication without which we wouldn’t have any online experience. You wouldn’t even be reading this article. This is because this website is currently sitting on a web server somewhere.

So, every time you visit any site such as Facebook, Netflix, YouTube or even shopping on an online store, always keep in mind that the sites are sitting on web servers hosted somewhere.

So what is a web server?

In simple terms, a web server is a piece of software that is hosted on a computer to serve clients’ requests which are sent via a web browser. Upon receiving client requests via a browser, the webserver, in turn, delivers the web pages to the user that contain a wide spectrum of content including images, sound, and videos.

Through the web servers, users can access the content they desire via a web browser: from steaming movies on Netflix, networking on social sites to buying items on online stores. Thanks to web servers, you can get almost any content to want online.

Let’s go a step further and look in greater detail at how a web server works.

An in-depth look at how a web server functions

Web servers underpin access to all manner of online content, constantly receiving requests and serving content to millions of users at any given time. So here’s how a web server works:

how dns works

Every time you type a domain name in the URL bar and hit Enter, an HTTP request is delivered to a web server associated with the domain name. Your browser acts as an HTTP client which allows you to send the request. Thereafter, the domain name is then translated to an IP address of the webserver by the DNS (Domain Name System). Domain names are preferred to typing the web server’s IP address. And for obvious reasons. It’s far much easier to recall a domain name than try to rack up your brain trying to remember what an IP address for Facebook or Amazon is. Upon receiving the request, the webserver relays the HTTP response to your browser ane renders the content that you had earlier requested. In a nutshell, a web server processes HTTP requests and responds by providing HTML webpages. Examples of popular web servers used in hosting include Apache HTTP server and Microsoft’s IIS.

web server market share

However, Apache takes the lion share and is the most widely used in most hosting companies and most websites.

Web servers can host either a static or a dynamic website. Let’s take a look at each of these in greater detail.

Static vs Dynamic websites

As the name suggests, a static website is one which content is usually static or non-changing.

Usually, a static website comes with a fixed number of pages with a defined layout. Content is mostly written in HTML/ CSS code and a bit of JavaScript/JQuery. The content served by the webserver hardly changes, and the same content is displayed for every user. The content is mostly informational and If any changes are required, then the website administrator has to be well-versed with the coding languages to make any modifications. Every page of the static website is saved separately on the server. Because of their simplistic nature, static websites are fairly easy to develop and won’t require much time and effort in maintenance. Because of the bland and uninspiring nature of static websites, static websites have been long obsoleted and have been phased out by dynamic websites.

Let’s now shift our focus to dynamic websites. A dynamic website is a website that is powered by server-side scripting languages to generate dynamic content. Such languages include PHP, Javascript, and ASP. In this case, webpages are not coded or saved separately. Instead what governs the look and feel and structure of the website is the design or template that is saved separately. The corresponding content is saved separately in databases.

Dynamic websites provide user interaction and the content displayed is dependent upon how users interact with the website.

In a nutshell, dynamic websites are functional and the content served varies from one user to another depending on the user interaction.

The downside to dynamic websites is their complexity. They are much more difficult to develop and require a greater level of expertise to host and maintain them.

Other Server Softwares that work alongside Web Servers

If you are running a static website, a web server is all that you would require. The same cannot be said of a dynamic website. A database server comes into the picture and is necessary for the storage and retrieval of data upon request. It works in the backend and works alongside the webserver, which works on the front-end, to deliver content to users. Examples of database servers include MySQL, PostgreSQL, Microsoft SQL Server, and MariaDB.

The other type of server is the application server. An application server hosts applications as well as associated services that are required by end-users. This server essentially sits between the web server and the database server, handling the customer & business applications and acting as the go-between for the web and database server.

Application servers include Apache Tomcat and Websphere.

How are servers equipped for high performance?

The servers we have talked about are essentially pieces of software that need to be installed on bare-metal hardware to carry out their tasks. Server hardware mimics ordinary PCs and fundamentally works just the same as ordinary PCs. However, since servers are designed to run 24/7 serving thousands of requests per second, they ship with enhanced hardware components and rely on certain configurations to ensure 100% uptime and boosted performance.

Due to their memory-intensive tasks, most servers will usually ship with RAM ranging anywhere from 8 GB to 2 TB with additional expansion slots. Also, they will also come with more storage capacity with hot-swappable drives to store the ever-increasing data that is stored on them. A typical server will usually come with a hard disk capacity of about 4GB with extra slots to cater for expansion or growth in the future. For super-fast processing power, servers ship with Xeon processors with impressive 24 cores for executing tasks at remarkable speeds. It’s also worth mentioning the existence of a redundant power supply option in the event of a power failure and the presence of additional cooling fans to keep the temperature at optimum levels and avoid overheating of the server components.

It would be an oversight on our part if we failed to mention the need for RAID configuration.

RAID, an acronym for Redundant Array of Independent Disks, is a technology that provides fault tolerance. In a RAID setup, multiple hard drives are configured together in such a manner that in the event of disk failure in one drive, no data is lost since data is already copied onto other drives. This aspect is particularly crucial for business websites that store enormous user data and need to always ensure data safety and integrity. A failure in one hard drive in the RAID will not affect the server’s overall performance. Currently, there are up to 6 RAID configurations depending on the amount of storage and the degree of redundancy that you require. The most commonly used RAID configuration is RAID 10. It combines the speed proferred by RAID 0 and the fault tolerance extended by RAID 1. In RAID 10, there are at least 4 drives. Two of these hard drives mirror the other two, implying that you get double capacity and performance of a single drive. The only shortcoming with RAID 10 is that you get to use half the storage capacity.

Another aspect that boosts the efficiency of servers is load balancing.

Load balancing is the process where traffic is routed or distributed efficiently across multiple web servers using certain criteria. A load balancer is the computer system that sits in front of web servers and distributes these requests evenly among different web servers. Load balancing aims to avoid flooding a web server with traffic which may lead to accessibility issues such as poor response times or even total downtime. Load balancing comes in handy in high-traffic websites where multiple web servers sit behind a load balancer and traffic is efficiently distributed across all of them. This leads to the high performance and efficiency of the web servers by alleviating the load that one web server alone would have performed.

What constitutes great hosting?

This is a broad question to answer, but let’s focus on the quintessential aspects that make for an awesome hosting experience.

Top on the list is price. You need to determine the affordability of the various hosting plans and assess the value for money you will get. Second, on the list is customer support. A good hosting company prides itself in offering exceptional 24/7 customer support to its clients. So before opting for a specific hosting company, its prudent to be certain that you will get assistance at any time of the day in the event you run into a hitch.

It also pays to keep an eye on the bandwidth offered by your hosting provider. More bandwidth guarantees faster access times and speed to your website. You also need to know whether the hosting plan offers CMS frameworks such as WordPress, and Magento just to mention a few. These frameworks enable you to design your website on the fly, saving you a copious amount of time and finances that would have been spent hiring a developer. Also, check if the provider is offering add-ons such as SSL certificates, subdomains, website builders and any other nifty additional features that will make your hosting experience pleasant.

As time goes by, cyber threats continue to grow in number and wreaking havoc on websites. You, therefore, need to opt for a security-centric hosting company that will guarantee the security and integrity of your data from malware and breaches.

Also, be on the lookout for the guaranteed uptime that the hosting provider is offering. This will be crucial in ensuring that your site will be up and running for most of the time with minimal downtime as possible. And we all know the implications of downtime on a website: business and numerous customers lost. An ideal hosting company should guarantee 99.9% uptime.

Lastly, its recommended to perform a background check on the hosting providers. Spend time poring over the reviews and ratings of the hosting provider and see what people are saying.

Is the Hosting provider reliable? Do they offer excellent uptime? Is their customer support friendly and helpful? Overall, are you getting value for money?

How to install Varnish on cPanel? – [The Definitive Guide in 2019]

how to install varnish on cpanel

People love fast loading sites. This is especially true for customers visiting e-commerce websites. An average customer will be happy, more satisfied and will likely to visit your site again thus increasing your conversion rate. On the flipside, users have no patience for slow loading websites.  According to Google, 53% of consumers are likely to abandon sites that take more than 3 seconds to load. This shows how crucial site performance is. In fact, so important is site performance that Google has made site speed a factor in ranking websites to give consumers the best user experience. As a web administrator, you would, therefore, need to do everything possible to boost your site’s performance for higher rankings and enjoy a higher conversation rate.

Installing Varnish on cPanel?

What is Varnish?

Written in C language under FreeBSD license, Varnish is a free and open source HTTP accelerator that was built for speeding up dynamic and content heavy sites that get massive traffic. Essentially, Varnish acts as a reverse proxy for your web server. Varnish accelerator sits at the front of your web server and serves requests by a factor of about 300 to 100 times, thereby easing the workload of your CPU. It receives HTTP requests and answering them from the cache. If a request cannot be answered, it is forwarded to the backend whereupon a response is fetched, stored in the cache and later delivered to the client. When a response is cached, it is delivered in microseconds, many times faster than your typical web server.

What is caching and what are its benefits?

Caching is the practice that involves the storage of files in memory to be served or used again. Storage of files in memory boosts the speed of access by making easily available to client requests, instead of files being downloaded over again. A classic example of caching is when a user browses a website. In the background, objects like JavaScript files, stylesheets and images are stored in the browser’s cache to eliminate the need of having to download them again. By so doing, the webpages load faster, and this reduces the server load and bandwidth usage.

Varnish takes caching to a whole new level. When a user visits a web server for the first time, the web server will serve the HTTP request, but Varnish will save a copy of the client request. The next time someone visits the same page, Varnish will automatically take note that the requests have been made earlier and will expeditiously respond by serving a cached version of the request. This action accelerates the speed by up to an extraordinary 300 to 1000 times!  What this also implies is that should the site experience immense traffic, it will be better equipped to handle the request without impacting negatively on the site speed and server resources such as CPU. The amount of CPU required to return a cached result is much lower compared to serving a new request altogether.

Varnish can also act as a load balancer, thereby speeding up websites by storing the cache in RAM. This fundamental ability to serve requests by caching requests is what enhances your site’s performance and speed. 

In addition to its performance capabilities, Varnish comes with a flexible configuration language called VCL. With VCL you can seamlessly configure policies which determine how incoming requests will be handled by the HTTP accelerator.

Varnish supports modern versions of Linux, FreeBSD, OS X as well as Solaris and derivatives of Solaris.

A few notable companies that use Varnish on their sites include Wikipedia, Reddit, Vimeo, and Facebook to mention but a few.

In this guide, we will dive in and see how to install and set up Varnish 6.2 as a proxy on your cPanel server.

Let’s jump right in!

Installing Varnish HTTP Cache

Before proceeding to install Varnish, ensure to do a pre-flight check of the prerequisites needed.

Prerequisites

  • Server running cPanel
  • Root SSH access to the server.

Step 1. Installing EPEL release

The first step in installing Varnish 5.2 is to ensure that the EPEL repository is installed on your system. EPEL is an acronym for Extra Packages for Enterprise Linux. This is done by executing the command below

# yum install -y epel-release

Additionally, you can use the command below

Step 2. Installing Varnish on CentOS 7

Next, we are going to install pygpgme package which will handle GPG signatures as well as yum-utils which is a collection of handy features.  To achieve this, Run the following command

# yum install pygpgme yum-utils

varnish requirements installation As of writing this article the latest version of Varnish available for CentOS 7 / RHEL 7 is 6.0.3-1and is available from packagecloud.io.

# wget --content-disposition https://packagecloud.io/varnishcache/varnish60lts/packages/el/7/varnish-6.0.3-1.el7.x86_64.rpm/download.rpm
# rpm -i varnish-6.0.3-1.el7.x86_64.rpm

After successful installation, run the following command to verify if varnish is running

# systemctl status varnish

varnish running after installation

Usually, the executable will be located at  /usr/sbin/varnishd path  and configuration files will be located at /etc/varnish path.

To confirm the path of Varnish executable run

# which varnishd

To check the version of Varnish installed, run

# varnishd -V

varnish version check

Step 3. Configuring Apache webserver to work with Varnish HTTP cache

The final step is to configure Apache webserver to work with Varnish. Apache runs on port 80 by default. We need to change this to a different port so that only Varnish runs on port 80. In this example, we will change the default httpd port in CentOS 7 to listen to port 8080.

This can easily be achieved using the ‘sed’ command

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

Next, edit the Varnish environment config file and locate the VARNISH_LISTEN_PORT parameter.

# vi /etc/varnish/varnish.params

Change the default value from 6081 to 80

varnish default port change

Save and Exit the text editor

Next, make Apache web server as the default back end server. Open the file below

/etc/varnish/default.vcl 

Navigate to the backend default section as shown and set the  .host attribute to point to your server. In my case, the IP address is 38.76.11.19

varnish vcl edit after install

Finally, restart the Apache web server as well as Varnish Cache for the changes to take effect

# systemctl restart httpd

# systemctl restart varnish

Step 4:  Testing Varnish Cache

To verify that Varnish is working with Apache Web server use the curl command as shown

# curl -I  http://server-ip-address

curl results after installing varnish

You can also verify that Varnish is running on port 80 and your web server is running on port 8080 using the ‘netstat’ command as shown

netstat after varnish install

After verifying Varnish and Apache Web server is running as expected, Head out to your Cpanel and Click on ‘Tweak Settings’ located on the sidebar

varnish install cpanel tweak settings

Click on the ‘Settings’ tab and change the default port from port 80 to 8080.

varnish install port change

This wraps up our guide on how to install varnish on cPanel. Hope this was helpful to you, if you have any questions please ask them in the comments section below.


If you are interested in using or installing Varnish cache along with your cPanel server, this can be installed on our Managed VPS servers. All our Managed VPSes come with cPanel / WHM and are monitored and supported 24×7 by our experts. Let us do the heavy lifting while you grow your business. Check out our plans.

How can I host a website from home?

host your website from your computer

This blog post is inspired from the following question over at Quora – https://www.quora.com/How-can-I-host-a-website-on-my-computer-if-I-have-dynamic-IP

I’ve come across this question across multiple forums, Reddit and it’s quite often asked. Technically speaking, yes it is definitely possible to host a website from your computer. A server is nothing more than a computer connected to the internet and so essentially your computer connected to the internet is a server as well. However, should you do it? I’d say no, it’s an expensive and unreliable solution.

Here are 5 reasons why you should not be doing it & at the same time how you can do it:

 

1. Your ISP probably prohibits it

Most residential ISPs do not allow running a server on their network and may terminate your connection if they find you abusing their policies. Here are a few snippets from the Terms of Service document for a few ISPs.

You also may not exceed the bandwidth usage limitations that Verizon may establish from time to time for the Service, or use the Service to host any type of server. Violation of this Section may result in bandwidth restrictions on your Service or suspension or termination of your Service.

Verizon FIOS

 

use or run dedicated, stand-alone equipment or servers from the Premises that provide network
content or any other services to anyone outside of your Premises local area network (“Premises
LAN”), also commonly referred to as public services or servers. Examples of prohibited
equipment and servers include, but are not limited to, email, web hosting, file sharing, and proxy
services and servers;

Comcast

Solution: Get a business / commercial connections. Services such as Comcast Business & Verizon Enterprise allows you to run servers on their network. You’d be looking at around $150 – $200 a month for these services.

Cost: $150 /mo

 

2. Reliable Internet Connectivity

Let’s accept it, there have been times we’ve been left without internet connectivity and when this happens your website goes down / becomes unavailable to the internet. Residential connections are simply not reliable enough to offer you 99% uptime, further, most of these connections are over the ground which means they are subjected to both natural and human intervention.

Suggested: The 10 Most Bizarre and Annoying Causes of Fiber Cuts

Solution: In order to maintain a certain level of redundancy you need at least two diverse internet provider and you can use a load balancing router such as the TP-Link Load Balancing Router to set up a fault-tolerant policy, wherein if one of the ISPs go down, traffic is automatically routed via the second.

Cost: $300 /mo (ISP x 2) + $50 One-Time

 

3. Electricity Expenses and Reliability

This problem is similar to that above, our residential power is not reliable enough for 100% availability in fact data centers with multiple power feeds coming from diverse power grids experience power failures as well, albeit rarely.

Solution: Battery backups + Generators. You will also need a mechanism to switch to the UPS and subsequently to generator power once the generator feeds come online.

Cost: Multiple thousand dollars plus fuel for the generators.

 

4. Dynamic IP

Residential networks have what is known as a Dynamic IP which implies that the IP address associated or assigned to your computer (in this case your server) changes, every time you disconnect and reconnect to the network. This makes it impossible for your DNS to point to an IP address for the website to load.

Solution: You can ask your ISP to give you a Static IP which will, of course, be charged and is usually only available on Business / Enterprise plans. An alternative way is to use a service such as No-IP, it’s a DNS provider that runs a client on your server/home computer and updates the IP address in the DNS zone for your website based on the IP address assigned to your computer.

 

So, should you do it?

If you do, you are looking at a few thousand dollars in a one-time investment and multiple hundreds each month and worse ever after all of this, the reliability and stability of such a service would still be questionable. Compare this with our Starter Hosting package which costs just $2.95 a month and guarantees 99.9% uptime.

[A Quick Guide] Installing Nginx on a cPanel Server

Installing Nginx on a cPanel Server

Nginx is an alternative web server to Apache (which is bundled with cPanel by default). It offers several performance improvements over Apache. Nginx is the second most widely used web server (Source: W3Techs). This guide assumes that you have root access to your server or VPS via SSH. Before you proceed please note that cPanel does not officially provide support for Nginx as of yet.

 

Web-Server-Ranking

Installing Nginx on a cPanel Server

We will first download the package required to install Nginx from. Enter the following commands from your command line:

 cd /usr/local/src
 wget http://nginxcp.com/latest/nginxadmin.tar
 tar xf nginxadmin.tar
 cd publicnginx

Generate the remote access key in WHM.

Login to your WHM Interface, click on Remote Key Access under Clusters and select Generate New Key

Go back to the command line and enter the following command:

./nginxinstaller install

This will start the installation. If you get an error that says “Remote Access Key does not exist”. Generate a new key and restart the script.

Once the installation completes, Nginx will be integrated with cPanel / WHM. You can manage it from your WHM under Plugins > Nginx Admin.

We offer free installation and configuration of Nginx on all our Managed VPS Services.

Installing Varnish on cPanel

installing-varnish-on-cpanel

Following up on our last post on how to optimize your VPS for wordpress performance, in this post we will go over installing and setting up Varnish on your cPanel server.

A quick reminder of what varnish is.

Varnish is a web cache that runs on linux, it listens on port 80 (the usual HTTP port) and connects to an web server such as Apache running on al alternate port on the server, such as 8080. Varnish stores / caches the copies of your pages and when requested by a visitor it serves those pre-built pages without having to process them over and over again.

Read more: https://host4geeks.com/optimizing-your-server-for-wordpress/

Since Varnish listens on port 80 (HTTP), we will first need to change the port for Apache running on our server. We will be changing the Apache port to 8080. To do this, login to your WHM as root, click on Tweak Settings from the sidebar, head over to the System tab and change the Apache Non-SSL port to 8080.

138.128.172.66

Now, we can proceed with the installation of Varnish. You need to be logged in as root via SSH. Type:

yum install varnish

Once the installation completes, we will configure Varnish to listen on port 80.

Edit the file /etc/sysconfig/varnish using your preferred editor.

nano /etc/sysconfig/varnish

VARNISH_LISTEN_PORT=80

Varnish is not a web server, it is merely a proxy sitting in front of a web server such as Apache, this implies that you would still need to run Apache on an alternate port on your server (such as 8080) and varnish in turn connects to Apache on the backend and listens on port 80 in the front end.

We now need to configure Varnish to connect to Apache on port 8080. Type in the following:


cd /etc/varnish/
mv default.vcl default_bak.vcl
touch default.vcl #creating a new default config file
nano default.vcl

Paste the following code.

backend default {
.host = "<your server's IP address>";
.port = "8080";
}

sub vcl_recv {
if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") {
return(lookup);
}
}

# strip the cookie before the image is inserted into cache.

sub vcl_fetch {
if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") {
unset beresp.http.set-cookie;
}
}

Make sure you replace the <your server’s IP address> with the IP address of your server. Finally, enter:

chkconfig varnish on

service varnish start

That is it,  you now have varnish running on your server.

Optimizing your server for wordpress

optimizing-wordpress

Having a fast website is essential to providing a great user experience to your visitors (no one likes slow websites). It is also a very important factor for your search engine rankings. Your visitors expect a fast website across all platforms – Desktop to Mobile. A study done by  Kissmetrics stacks up page abandonment rate alongside page load times.

 

website-speeds-experience
 

If you have a growing WordPress website and attract a fair number of visitors chances are that you are hosted on a VPS (Virtual Private Server). On a VPS it is very important that you fine-tune your server and all software running on it to avoid sluggish performance. It is a common misbelief that moving your WordPress site to a VPS will magically improve its performance, this is not the case. A VPS does offer you a lot more flexibility to control your environment over a traditional shared hosting account, but a poorly setup VPS can further degrade the performance of your site. With great power, comes great responsibility.

Optimizing your WordPress site is a two-fold process, one part of the optimization is done on the server and the associated software running on it and the second can be the actual website and associated content on it.

Cache. Cache. and more Cache.

Processing code and running queries take time. Caching is a great way to overcome this – a cache keeps the processed data ready and serves it to your visitors without delays.

 

varnish-performance
Varnish Web Cache

The varnish is a web cache that runs on Linux, it listens on port 80 (the usual HTTP port) and connects to a web server such as Apache running on an alternate port on the server, such as 8080. Varnish stores/caches the copies of your pages and when requested by a visitor it serves those pre-built pages without having to process them over and over again. However, there are a few very important things to note with varnish, the first being, Varnish is not a web server, it is merely a proxy sitting in front of a web server such as Apache, this implies that you would still need to run Apache on an alternate port on your server (such as 8080) and varnish, in turn, connects to Apache on the backend and listens on port 80 in the front end. Secondly, Varnish cannot cache pages over HTTPS (Port 443), so you would still need to run Apache listening on the secure port to serve HTTPS requests.

Read: Installing Varnish on cPanel

W3Total Cache

W3Total Cache is a free and highly recommended WordPress caching plugin and it significantly improves the performance of your website. It offers:

Page Caching (separate from Varnish)

Minifies (shrinks) your JS and CSS files

Browser Caching – adds required tags to your content that instructs browsers to cache them for a longer duration.

Easy Integration of CDN – You can integrate a CDN such as MaxCDN or Amazon CloudFront, very easily.

Enable Compression

Compressing your content is another great way to achieve faster load times. This can be achieved using the W3 Total Cache plugin.

PHP Caching

If WordPress is processing PHP code very often, PHP caching becomes a necessity (assuming you have implemented the other caching methods stated above, there should be very little PHP code to be processed already). We recommend APC Object Cache or Zend OPCache.

 

wordp
Use a CDN

Using a CDN such as MaxCDN or Amazon CloudFront had dramatic effects in your page load times, especially if your blog/website uses a lot of static content and media.

A content delivery network (CDN) is a system of distributed servers (network) that deliver webpages and other Web content to a user based on the geographic locations of the user, the origin of the webpage and a content delivery server.

This service is effective in speeding the delivery of content of websites with high traffic and websites that have global reach. The closer the CDN server is to the user geographically, the faster the content will be delivered to the user. CDNs also provide protection from large surges in traffic.

We offer all of the above services on our Managed VPS offerings as well as wordpress optimized Dedicated Servers!

 

What’s done and what’s coming up

happy-new-year
Where we are and what are our plans for the near future

Hello everyone,

My name is Adam, I’m have been working for a few months now at Host4Geeks as the Technical Operations Manager. Firstly, I’d like to wish everyone a very happy and fruitful new year! 🙂

December and the end of year is the period where every person and company thinks often what he accomplished this year and what are the plans for the future.

I would like to speak a little about what Host4Geeks has been through recently, and also what are our plans for the next year.

Recent months have been very busy for all of us at Host4Geeks – We have moved our servers to a whole new level, we are now using Hybrid Server Setups for all of our servers. Using Hybrid Drives allows us to offer a even better service at the same price, a combination of HDD for static data and SSD drives for MySQL queries improve overall server performance by 200-400%.

It’s hard to give a clear result, since many websites have different content, the scripts that we use each day are using different queries – some are optimized better than others, however in our industry we MUST be ready also for the second.

Besides the Shared Servers changed, we also made major changes on how our Managed Services work, we are working all the time and writing scripts, softwares and changing our methodology to make life easier for the staff at Host4Geeks, and at the same time make everything simpler and smoother for our clients, which is not a easy thing to do, needs a significant of time and research, but it’s doable.

There are some things that require more than other, we prefer to test everything throughly before putting it live on our servers, so You, as our client won’t be having any issues – The idea is, that our clients shouldn’t even notice that we changed something, especially when we are doing security-side tweaks and changes.

So, what’s coming up next in 2015?

I will write a short roundup of what we are planning to implement in the upcoming year, some of these features might not be implemented at all (after testing we might decide to not implement it, if we will notice that they do not meet our expectations, or that it may negatively affect You).

  1. VPS/Managed Nodes with Flashcache (Adding flashcache should greatly increase the I/O perfromance of our nodes). How does Flashcache work? Flashcache is basicly a SSD Drive (or Drives), that take most of the file operations on themselves, and depending on the IO currently on the HDD, they are slowly moving the files from themselves onto the HDD, thus reducing the IO workload of the HDD greatly.
  2. Automate as many tasks as possible (So the staff here at Host4Geeks will have more time for other tasks).
  3. Upgrade our Monitoring Systems (So we can take early reaction in case of noticing abnormal behaviour of our whole Infrastructure).
  4. Improve our Infrastructure even further (We are thinking all the time, planning and doing brainstorms in order to implement new things that will benefit all of us).

I thank you all for your continued support and the positive feedback you have given us, it is what encourages us to keep improving ourselves.

[Updated 2019] New & Improved SSD based servers

host4geeks ssd hosting

In this post we would like to introduce you to our new SSD based server setup for our Shared, Reseller and Semi-Dedicated customers.

Previously our servers consisted of standard HDD drives, which have a lot of space, however they are not really fast. Over the past weeks we have been upgrading our cPanel nodes to our next generation hybrid setup!

Ok, so what is this next generation setup?

It’s great! It means that we have both HDD and SSD drives! HDD drives serve static files from your home directory, for LiteSpeed (our webserver) for example. We also have SSD drives which serve exclusively MySQL databases and another set of SSD drives that cache your data.

Ok, but what does this mean to me?

SSD drives outperform standard HDD plate drives by far – it means your websites will load a lot faster, the server load will be significally lower due to no I/O bottleneck that HDD drives caused. SSD can serve between 50-150x more MySQL queries than HDD drives.

All of this will impact your websites – they will load faster, a lot faster! SSD drives are smaller than HDD, however our setup is designed so we have enough space for everything!

This sounds great! But won’t this impact on the price of my package?

Absolutely no!

We have designed our platform so that we can keep the current upkeep cost and increase the overall performance, so you don’t need to worry about your bills – they stay the same even though everything will be faster!

We would like to ensure everyone that everything is proper, we have it all under control and you can enjoy your websites loading faster without any issues.

Host4Geeks always aims for the best, we always want to offer the best price/performance ratio for everyone so we are all happy, because that is most important, right?

We were, we are and we will always be here for you, our dear clients and will always try to serve you the best as we can. Host4Geeks will continue to increase it’s performance and stability all of the time, we want to provide you with the best for the lowest possible price.

Unlimited Hosting – Is it a Marketing Gimmick?

Unlimited Hosting

Is Unlimited Hosting Really Unlimited?

In my previous article I explained how CloudLinux is great in limiting the amount of resources that a particular client can use up and how other clients on the same server wont be affected by one customer abusing the system. After having read the article you may have immediately wondered that if your RAM, CPU usage and no of concurrent processes are limited then why do we say that our plans are unlimited? Therefore, I take this opportunity to explain this apparent dilemma.

Our Phisolophy

We at Host4Geeks believe that the most difficult option while deciding a host for your new website is to decide how much disk-space and bandwidth will suffice for you once you are fully established. While some will argue that you can always select the lowest package and move up the ladder as required or alternately buy the biggest package and just grow in it, this argument has a basic flaw. If you choose the first option you run the risk of incremental costs as you grow, and if you choose the second option you end up paying much more than what you should without any guarantee of success and fritter away vital capital in the formative years.

Therefore, we provide you with the third option of having an unlimited hosting wherein the amount of disk-space and bandwidth is unlimited. Thus you can concentrate on your website and business without having to worry about how much disk-space or bandwidth you have used up and whether your website will be suspended for exceeding your bandwidth quota or worse you will be given an exorbitant bill at the month end for exceeding your bandwidth quota by a few GBs.

Our Plans

So what do we offer? We not only offer unlimited disk-space and bandwidth but a host of other unlimited features like unlimited email accounts, unlimited ftp accounts, unlimited MySql databases and much more. Below is a comparison of our Unlimited Hosting Plans.

 

Restrictions

While we offer unlimited plans we do place some restrictions in the way you can use it and below is a summary of the restrictions and the reason behind it.

  • You can only store data directly linked with your website – We do not want people to abuse our unlimited disk-space plan for storing their personal files, movies, songs etc which have no bearing on the website they host with us. Cases of people having no website and just using the plan as an online backup has also been known.
  • You cannot host a file storage or file distribution service .
  • There are CPU and RAM limitations in place to prevent any single account from consuming excessive resources and over loading the entire server. This has been explained in details in our article on CloudLinux.
  • Although we do not have a hard coded limit on the amount of badwidth and disk space that your account may use at any point of time but if we see that your usage is not suited for a Shared Hosting environment, we will notify you about it. To be practical, you cannot expect to be host a site using about 500GB of disk space and consuming 2TB of bandwidth, on a shared hosting environment.

Many call the Unlimited Hosting a marketing gimmick or some go as far as to call it a scam. We do not see it that way. Our intentions are to make it easy for the end user to make his decision and not baffle him with a ton of options to choose from.

Do leave your comments below on what are your views on “Unlimited Hosting”.

Why CloudLinux is Important for shared Hosting?

Advantages of Cloudlinux

We recently installed CloudLinux as the OS for our Shared and Reseller hosting offerings and would like to take this opportunity to explain how the new OS is better and how it will improve performance for our clients.

The Advantages of CloudLinux

Normal Server Setup

In a normal shared hosting environment the resources available on a server that is the CPU, I/O and RAM resources are fully accessible to all accounts on that server and there is no hard and fast demarcation on the usage of these resources. The clients are expected to share these resources equally. However, sometimes rogue scripts/programs on one clients account to take up disproportionately large amount of resources, thus leading to the server getting overloaded and a general lack of performance, thereby resulting in all the accounts seem slow.

Enter CloudLinux

So enter Cloud Linux. CloudLinux creates a virtual environment for each individual account on a shared server and allows us to limit the amount of resources any single account can use similar to a VPS environment and therefore no single account can take up every all CPU resources on the server. This brings a lot of benefits to the table for both our clients and us as a host. We deal with less system level resource issues, there are fewer service interruptions, and most importantly the speed of most users sites go up as the accounts now have resources dedicated to them. As our clients, you benefit from the lower server load and fewer interruptions of service. You also get additional information in your cPanel which shows useful stats for your account (more on this later).

Tell me more

Now that you have got a basic understanding of what Cloud Linux achieves, here is the low down on some of the technology that makes it possible.

LVE – LVE, short for Lightweight Virtual Environment, is the driving technology behind the Cloud Linux methodology. LVE, developed exclusively by the folks over at Cloud Linux, is a kernel level technology which handles the isolation and resource monitoring that Cloud Linux is able to provide. LVE brings together technology provided by Apache modules and the Linux kernel.  More reading available here: http://cloudlinux.com/docs/workingwithlve.php

LVE and cPanel / WHM – Cloud Linux has developed a plugin specifically for use on cPanel / WHM based systems. Installed through yum (CentOS package manager), the plugin allows you to view resource accurate up to the last second, and also allows you to edit default and individual LVE limits.

Data Reporting – The Cloud Linux kernel adds a few proc entries for user usage statistics as a small set of command line tools to view & monitor usage. In addition to this the cPanel / WHM integration has user based reporting which will log a history of CPU usage for an account allowing for quick and efficient tracking of resource usage.

Resource usage Information

You must be obviously wondering how you as an user can check his/her resource usage. Well cPanel /WHM displayes this on the left alongside other account related information like HDD/Bandwidth limit etc. The information available are CPU use and concurrent connections. Here’s a picture of what they look like:

  • The CPU is for your account only and not for the server as a whole. So when it says 100% it means you have reached the max CPU allotment.
  • The virtual memory usage shows the amount of RAM you are using out of your allotment, and not of the whole server.
  • The Entry Processes is the number of concurrent processes that your account can process at the same time. These processes can be cronjobs, PHP processes, Perl processes, etc. A  single user should rarely if ever consume all 20 connections, so this metric is mostly informational.
  • If you are consistently hitting your limits, it is time to look at optimizing your site(s) or upgrading to a VPS as you’ve most likely outgrown shared hosting.

Conclusion

In conclusion we feel that Cloud Linux has executed a brilliant concept of providing dedicated resources to all users and limiting the ability of a few users unfairly using more resources. This will in the end lead to lesser outages and better performance. Feel free to post any questions or concerns about this technology in the comments, we’d love to get some more user feedback. 🙂