Regardless of whether you outsource hosting and operation or you host your own
website, you should know some aspects of computing hardware platform.
The hardware platform means that all the basic computing component which the
system utilizes to accomplish its e-commerce features. Your aim is to have sufficient
platform capacity to handle peak demand, but not in that much excess that you
waste money. In case fails to match peak demand, then that means your website is
actually crashing or is slow.
It is required to have knowledge about the aspects which have effect on capacity,
speed and scalability of an e-commerce website.
Right-Sizing Your Hardware Platform :
The Demand Side
The demands which customers put on your e-commerce website is major factor
affecting your website’s speed.
Based on the kind of website you operate, demands on your website may become
complex. The number of concurrent users in peak time, the type of customer
requests, kind of content, required security, the number of products in inventory, number of page requests and speed of legacy applications which may be required to
provide data to web pages are all important factor in overall demand on a website
application.
One of the important factor to consider is the number of concurrent users who will
likely to visit your website. In general, the load created by a single user on website
server is limited and for short time. A session initiated by user on your website is
stateless, which means that you server does not have to worry about maintaining an
ongoing, dedicated communication with user. On web page request a web session is
initiated, once the server responds to the request the session ends. Performance of
system may decrease as increasing number of concurrent users request service.
For serving static web page requests, I/O operations are required rather than heavyduty processing power capability. Due to which Performance of website is majorly
dependent on telecommunication connection and I/O limitation of server, rather
than speed of server’s processor.
The nature of content and user profile are some other factors which needs to be
considered while projecting the demand on the website. Demands on the server’s
processors will go up in case user requests registration forms, searches and
accepting order through shopping cart.
Right-Sizing Your Hardware Platform :
The Supply Side
Once the demand on your website is projected, you will have to think about scaling
up your website in order to meet the demand. One of the solution is that
outsourcing the hosting part of your site to cloud based service. Service of Content
Delivery Network (CDN) like Akamai, can also taken.
However, in case you host your own website, scalability will remain an important
consideration. Scalability mean the capability of a website to increase in size as
demand increases. There are three steps by which you can meet the demands for
service at your website : horizontal scaling of hardware, vertical scaling of
hardware, and/ or enhance the processing architecture of the website.
Increasing individual component’s processing power is known as vertical scaling.
Adding multiple computers to increase the footprint of installation and to share the
workload is known as horizontal scaling.
By upgrading the servers from single processor to multiple processor you will be
able to scale your website vertically. Based on the operating system and for
upgrading to faster chip speed, you can keep on adding processors to a computer.
There are two disadvantages to vertical scaling. First, along with every growth cycle
purchasing additional processors will become costly, and second, your complete
website becomes dependent on a smaller number of powerful computers. In case
you have two such computers and one goes down, then either half or complete
website can become unavailable.
Horizontal scaling contains adding multiple single processor server to your website
and performing loan balancing among those servers. You can then divide the loan
so some server are assigned for handling database application, whereas some
servers handles only HTML web page requests. To navigate incoming request to
different server, you will require a special loan balancing software.
There are various advantages to horizontal scaling. It is cheap and can be achieved
by using older computers which otherwise could have been disposed. Horizontal
scaling also introduces concept of redundancy i.e. in case one computer fails,
chances are that another computer can take up the loan dynamically. However,
when your website grows from single computer to 15 to 20 computer then the size
of physical capacity needed to store also increases and this adds to management
complexity.
A third option, improving the processing architecture, is a combination of
horizontal and vertical scaling, combined with artful design decisions. Below are
few common technique that can be taken to improve performance of your website:
Separate dynamic and static content : For every kind of workload make use of
specialized server
Cache static content: RAM size to be increased to GB range and store static
content in RAM
Cache database lookup tables : Use cache tables used to look up for records in
database
Consolidate business logic on separate server : Put credit card processing,
shopping cart and any other CPU intensive task on separate server
Optimize source code and database schema
Many of these techniques includes dividing the workload into CPU-intensive
activities and I/O intensive task. Once you have divided the work, for every kind of
workload you can fine tune the server. One of the less costly fine tuning technique
is adding RAM to some servers and store all your HTML pages in RAM. This
increases the processing speed by reducing load on your hard drives. RAM is cheap
The next course of action is to migrate all CPU intensive tasks like order taking,
onto high-end, multiple processor server which is particularly assigned to handle
order and accessing required databases.
Taking these steps can allow you to reduce the number of server needed to
responds to thousands of concurrent users from 100 down to 20, according to
estimate.
0 Comments