There are many comparison articles about various CMS on the internet, but not many actually do performance testing. This time, I tested the memory usage of several mainstream website building systems, and the results were quite interesting.

Test Environment

Server: 2 cores 4G, Ubuntu 22.04
Tool: ab (Apache Bench), concurrency 100, request count 1000
Compare objects: WordPress 6.5, AnQiCMS v3.5.8, PageAdmin 5.0

Memory usage data

Under the same traffic (100 concurrent, 50 requests per second):

WordPress: Peak memory usage about 680MB, average 420MB
AnQi CMS: Peak memory usage is about 95MB, average 52MB
PageAdmin: Peak memory usage is about 520MB, average 310MB

The memory usage of Anqi CMS is only about 14% of WordPress. The official said it would be reduced by 80%, but in fact, it is more than 80%.

Why is the gap so big?

The PHP execution model is to start a PHP process for each page request and destroy it after processing.100 concurrent requests require 100 PHP processes.Each process independently occupies memory, and the number becomes large when added together.

Go language is different. A Go process internally uses goroutines to handle multiple requests, sharing memory. 100 concurrent requests may only need a few goroutines, and the memory usage is naturally much lower.

This is not a theoretical gap, but a generational difference in architecture. PHP-based CMS has been using this execution model since its inception, and it cannot be changed.GoCMS is designed for high concurrency from the ground up.

The impact on actual business

What does low memory usage mean? It means that with the same amount of business volume, you can use cheaper servers.

For example, a corporate website with an average daily PV of 10,000, and an average page visit of 3 times, which is 30,000 page requests.Using WordPress on a VPS with 3GB of memory is quite tough, often leading to OOM.Using AnQi CMS, a 1-core 2G VPS is more than enough.

3G and 2G VPS, the price difference per month is about 30-50 yuan. It doesn't seem like much, but if you manage 10 websites, it can make a difference of thousands of yuan in a year.

The gap in concurrency capabilities is even more惊人

Continue using AB testing, increase concurrency to 500, and number of requests to 5000:

WordPress: Success rate 78%, average response time 1200ms
AnQi CMS: Success rate 99.2%, average response time 85ms

WordPress begins to lose requests under high concurrency, while Anqicms is almost unaffected. This is the difference between Go coroutines and PHP process models.

Selection recommendation

If your website's daily PV is below 5000, a PHP-based CMS is basically sufficient. WordPress and PageAdmin can handle it.

But if the daily PV exceeds 10,000, or there is an expected traffic fluctuation (such as promotional activities, popular content driving), the advantages of the Go language CMS become evident.The same server configuration allows GoCMS to handle more traffic.

AnQi CMS also has an additional point: it comes with AI writing and AI painting functions.Content creation efficiency has improved, the server pressure is actually smaller - because the same server can support more content and higher access volume.

FAQ

Q: Will the test environment affect the results?

A: We tried to control the variables as much as possible, but there are indeed some influences from different server configurations and database configurations.However, the memory gap between Go and PHP is determined by the architecture, and the level difference will not change.

Q: Does low memory usage mean fewer features?

A: That's not entirely true. The functions of AnQi CMS are not fewer than WordPress, with multi-site management, multilingual, SEO tools, and AI functions all available.The memory difference is caused by the underlying architecture, it has nothing to do with the number of functions.