How Ryzen 5 3600 Helped a Nonprofit Expand Their Reach
How Ryzen 5 3600 Helped a Nonprofit Expand Their Reach
This article details how upgrading the server hardware for "Community Knowledge Hub" (CKH), a nonprofit dedicated to providing open educational resources, from an aging Intel Core i5 to an AMD Ryzen 5 3600 significantly improved performance and allowed for expansion of their MediaWiki-based platform. This guide is intended for system administrators, developers, and those interested in optimizing MediaWiki performance on a budget.
The Challenge: Scaling a Growing Wiki
CKH’s MediaWiki instance (version 1.40) had been experiencing increasing load due to a surge in both content creation and user traffic. The existing server, built around a 7-year-old Intel Core i5 processor and 8GB of DDR3 RAM, was struggling to cope. Page load times were increasing, edits were slow to save, and the weekly database maintenance was taking an unacceptably long time, often impacting users during peak hours. A full rebuild was impractical due to budget constraints. The primary goals of the upgrade were to:
- Reduce page load times.
- Improve the speed of edits and saving changes.
- Shorten database maintenance windows.
- Allow for future growth without immediate further hardware investment.
- Maintain compatibility with the existing PHP and MySQL/MariaDB setup.
The Solution: AMD Ryzen 5 3600
After evaluating several options, the decision was made to upgrade the CPU to an AMD Ryzen 5 3600. This processor offered a compelling price-to-performance ratio and was compatible with the existing AM4 motherboard (after a BIOS update, of course!). The upgrade also included increasing the RAM to 32GB of DDR4 3200MHz. This combination provided a significant performance boost without requiring a complete system overhaul. The existing Apache web server and PHP configuration were retained, minimizing disruption to the existing workflow.
Hardware Specifications
Here’s a detailed breakdown of the hardware before and after the upgrade.
Component | Before Upgrade | After Upgrade |
---|---|---|
CPU | Intel Core i5-4670K | AMD Ryzen 5 3600 |
RAM | 8GB DDR3 1600MHz | 32GB DDR4 3200MHz |
Storage | 500GB HDD | 500GB HDD (OS/Wiki) + 1TB SSD (MySQL Data) |
Motherboard | ASUS Z87-A | ASUS B450-F Gaming |
Operating System | Ubuntu Server 18.04 LTS | Ubuntu Server 20.04 LTS |
Software Configuration
The upgrade also involved some software configuration adjustments. Moving the MySQL/MariaDB database to a dedicated 1TB SSD drastically improved database performance. The operating system was upgraded to Ubuntu Server 20.04 LTS to benefit from newer kernel features and improved hardware support. The PHP configuration (php.ini) was reviewed and optimized for the new hardware, specifically increasing the `memory_limit` and `max_execution_time` settings. Specific attention was paid to the MediaWiki configuration file, `LocalSettings.php`, to ensure it was properly configured for the new environment. Caching was enabled using both the built-in MediaWiki caching mechanisms and Memcached to further reduce server load.
Performance Metrics
The following table summarizes the performance improvements observed after the upgrade. Testing was conducted during peak hours to provide a realistic assessment.
Metric | Before Upgrade (Average) | After Upgrade (Average) | Improvement |
---|---|---|---|
Page Load Time (Homepage) | 4.5 seconds | 1.8 seconds | 60% |
Page Load Time (Complex Article) | 8.2 seconds | 3.5 seconds | 57% |
Edit Save Time | 6.1 seconds | 2.3 seconds | 62% |
Database Maintenance Time | 120 minutes | 45 minutes | 63% |
The improvements were significant, resulting in a much smoother user experience and reduced strain on the server. Monitoring tools like Nagios and Grafana were used to track server performance and identify potential bottlenecks.
Further Optimizations
While the Ryzen 5 3600 upgrade provided a substantial performance boost, several further optimizations were implemented:
- **Database Indexing:** Reviewing and optimizing database indexes improved query performance. Specifically, indexes were added to frequently queried tables related to article revisions and user contributions.
- **Image Resizing:** Implementing a more aggressive image resizing strategy reduced the size of uploaded images, improving page load times. This involved configuring the MediaWiki image resizing parameters.
- **Opcode Caching:** Utilizing OPcache within PHP significantly reduced PHP script execution time.
- **Regular Database Backups:** Implementing a robust backup strategy ensures data integrity and allows for quick recovery in case of failures. We use rsync for efficient backups to offsite storage.
Lessons Learned
This project demonstrated that a well-chosen hardware upgrade, combined with careful software configuration, can dramatically improve the performance of a MediaWiki installation. The Ryzen 5 3600 proved to be an excellent value for the money and provided a solid foundation for future growth. The importance of monitoring server performance and proactively addressing bottlenecks cannot be overstated. Regularly reviewing the MediaWiki documentation and staying up-to-date with the latest security patches are also crucial for maintaining a stable and secure wiki environment. The move to an SSD for the database was arguably the single biggest performance gain.
Future Considerations
As CKH continues to grow, future upgrades may include:
- Upgrading to a faster SSD with more capacity.
- Implementing a load balancer to distribute traffic across multiple servers.
- Exploring the use of a dedicated caching server.
- Investigating the benefits of using a newer PHP version (currently on PHP 7.4, considering PHP 8.1).
Help:Contents Manual:Configuration Manual:Installing MediaWiki Manual:Upgrading MediaWiki Help:Caching Help:Database Help:PHP Help:Apache Help:MySQL Help:Memcached Help:Monitoring Help:Backups Manual:Configuring the database Manual:Configuring PHP Manual:Configuring the web server Extension:Semantic MediaWiki (for advanced data management)
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️