Case Studies

Optimized Server Architecture for a High Traffic Online Newspaper

Client: NDA Signed & Protected

Location: Chile (CL)

Platform

Bare Metal

Industry

News

User Capacity

135 Million

Provider

Hetzner

Customer Requirement​​

The client’s website had many visitors at the same time, especially during peak hours. The currently used server was unable to handle the significant traffic that caused the website to display error messages to the users or slow down the server. This affected the user experience and had an impact on their business. The client needs a better solution that can handle high traffic while keeping the website operating properly. Also, ensure that users can access the website quickly and reliably at any time.

Challenges​

The primary challenge in front of us was to enhance server performance without upgrading existing resources because the client had an allocated budget for infrastructure. The server has multiple elements that affect its performance. It was running cPanel as the control panel, Apache as the web server with PHP configured as mod_php and MySQL was constantly experiencing heavy load. In addition, the website was built on WordPress and has a huge number of plugins which affects the loading time. The goal was to improve server performance and stability by using only the available resources.

Skynat's Proposal and Solutions​
  • Analysis: on taking up the project analyzed the code implemented on the server and researched the best and optimized method to implement the code with optimal resources. We then came with a custom-tailored system that can serve the maximum number of visitors with a minimal number of resources taking into consideration the code, web server, database and language compiler.

  • Designing the Architecture: We designed an effective architecture for improving server performance with limited resources. Our design includes removing the control panel from the server to avoid unwanted resources and reduce server expenditures. We planned to change the current webserver and as well as to use php-fpm to handle website requests better. To improve performance further, we planned to use caching methods. Also, we wanted to increase database speed by properly indexing and optimizing to enhance response times.

  • Implementation: To improve the server performance without adding additional resources, we began by removing the control panel and freeing up system resources. Next, we replaced the web server, which is quicker and can handle more traffic efficiently. We also configured PHP-FPM which allows the server to handle several requests at the same time more easily. We also implemented caching methods which helps the website pages to load much faster by lowering the server’s workload. Finally, we increased database performance by proper indexing and optimizing database parameters. Then we ran the system for a test with sudo load to test our hypnotizes and provided great results. We had the system implemented in production and the server took up a load of the visitor coming in without any change in the underlying resources.

Implementation Method and Components Used​
  1. Uninstalled the Cpanel control panel from the server.
  2. Substituted Apache with Nginx which is a faster and more efficient web server.
  3. Some kernel and webserver settings have been tuned to their maximum values to handle more connections.
  4. Configured PHP-FPM to handle requests more efficiently and improve site response time.
  5. Installed and configured caching methods. Varnish caching and Redis object caching which reduce server load and improve page delivery speed.
  6. To minimize query delay and increase data retrieval, proper indexing was implemented along with tuning database parameters.
  7. The system was tested under pseudo-load circumstances to validate the architecture and establish improved performance.
  8. The new architecture was successfully implemented in the production environment, and the server handled real-time traffic effectively without requiring any modifications to the underlying resources.
Implementation Timeline​

The project was completed in 15 days with deployments, testing, auditing, and final delivery.

Results and Conclusion​

After implementing this optimized server architecture, we observed a great improvement in performance during high traffic. Key improvements include better load management, faster response times, lower server resource usage and enhanced database efficiency.

The solution we implemented successfully met the client’s requirements by maximizing the use of existing infrastructure while greatly improving user experience. This shows that performance improvement can be achieved through smart optimization without investing in new hardware. We have been managing the server for over five years, continuously helping to grow and improve their website as part of our Linux server management plan.