Preface:
NDA (Non-disclosure Agreement)
We hope you do understand that we can not disclose our clients sensitive information or violate their privacy rights. We always sign an NDA with our clients and so will do with you. We understand the simple fact that nobody will be happy to have negative PR by disclosing the fact of their website's malfunction.
Showcase #1:
Computer Graphics Provider - 2002
- Summary:
- After several months of rapid development of the web-based shop the servers stalled. The pages were served too slowly, the server was practically unresponsive during rush hours. The clients were very upset.
- Diagnosis:
- The expertise concluded that most services were set up using default settings and the in-house written php scripts were never designed to handle any considerable load.
- We have re-configured the FreeBSD system settings, Apache web server and MySQL database servers.
- The bottlenecks in the php scripts were pinned down and mitigated (i.e. - replacing php-based sorting of data with database-based).
- Time to implement:
- 12 continuous hours (one night)
- Outcome:
- The website returned to normal operation.
Showcase #2:
Computer Graphics Provider - 2005
- Summary:
- The web-based shop from the showcase #1 had successfully grown to four public front-end servers and several satellite websites and services. The CPU load on the public front-end servers was approaching 100%, the additional hardware investments seemed to be the obvious solution. The managers, based on financial considerations, decided to conduct the proper expertise first.
- Diagnosis:
- The expertise showed that the general-purpose web server (apache) being used did not fit the current site requirements. The apache web server was replaced with the properly-tuned lightweight web server (nginx).
- Time to implement:
- Analysis - 6 hrs. Planning and implementation of changes - 1 work week.
- Outcome:
- The CPU load on the front-end servers fell to 10%. That allowed to avoid investing into new hardware, and even decrease the number of servers to three without sacrificing performance.
Showcase #3:
Domain Registrar - 2007
- Summary:
- The web site performance of one of the leading domain registrars kept decreasing while the popularity boosted. The web site became inaccessible during the peak hours. In spite of throwing the hardware at issue (3 Dual Xeons with SCSI discs and loads of memory) the site was still performing poorly.
- Diagnosis:
- The web site was initially implemented using LAMP (Linux, Apache,
MySQL, PHP). The analysis showed that the whole structure of the site
was never designed to handle any serious load. The weakest point were
the poorly designed database structure and sub-optimal PHP scripts
coding quality. The amount of code on the site meant it would take
man-years to re-implement it. We had to take the path of optimizing the
server settings and layout. The performance problems were solved after
migration to the smaller hardware footprint (2 Pentium IV servers with
SATA storage) solution with proper software setup:
- MySQL upgraded to version 5 and fine-tuned based on the query analysis
- lightweight HTTP server (nginx) installed to serve static content and forward dynamic requests to the FastCGI container
- content cacheing and buffering set up and fine-tuned
- mod_php version 4 replaced by FastCGI container with PHP5 including Zend extension for acceleration
- gzip compression of client traffic put in place where appropriate
- proper resource sharing between the HTTP server and FastCGI container enforced by means of virtualization (OpenVZ)
- advanced performance monitoring system implemented
- Time to implement:
- 50 hours.
- Outcome:
- Stellar website performance, reduced monthly hardware budget.