7

Alibaba Yitian 710 Redis performance - Infrastructure Solutions blog - Arm Commu...

 1 year ago
source link: https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/improve-redis-performance-by-deploying-on-alibaba-cloud-yitian-710-instances
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Improve Redis performance up to 36% by deploying on Alibaba Cloud Yitian 710 instances

2781.Alibaba-Redis.jpg_2D00_900x506x2.jpg?_=638058331743188737
December 7, 2022
2 minute read time.

Redis is an open-source, in-memory datastore that is often used as a database, caching system, and message broker. It is widely used in industries for real-time applications such as healthcare systems, IoT, and financial services. Redis is highly scalable and used for real-time analytics, caching, pub/subs applications, and session management.

In this blog, we demonstrate the performance advantage of Yitian 710 over x86 by comparing Redis throughput on Alibaba Cloud ECS. We use G8y instances (powered by Yitian 710 processors based on Armv9) and G7 instances (powered by 3rd Generation Intel Xeon Scalable processors) for this comparison.

Benchmark setup and results

We used Memtier as the load generator and performance benchmarking tool. It is an open-source high-throughput benchmarking tool for Redis built by Redis Labs. Memtier was deployed on separate ECS instance.

For the Redis server, we deployed multiple Redis processes on each core.

Redis benchmark topology

Figure 1. Redis benchmarking topology

The server under test has two ECS instances with the following configurations. The benchmark client used a single G8y.8xlarge instance.

Processor ECS type vCPU
Yitian 710 G8y.2xlarge 8
Intel Ice Lake G7.2xlarge 8

Table 1. Test server configurations

The benchmark tests were performed with the following software versions and test parameters.

Component name Version
Redis 6.0.9
GCC version 10.2.1 20200825 (Alibaba 10.2.1-3 2.32)
Memtier benchmarking tool 1.3.0
Operating system Alibaba Cloud Linux 3.2104 LTS
Test config parameter Value
Number of Memtier clients 8
Number of threads 8
Number of clients per thread 10
Number of requests per client 100K, 10M
Number of consecutive tests runs 3
Data size 32
Protocol Redis
Key pattern Sequential
Pipeline 1, 50, 100

We use 8 Memtier clients to generate requests for 8 Redis processes simultaneously. Each Memtier client creates 8 threads with 10 clients per thread, which gave 80 simultaneous connections (sessions). Pipeline 1, 50 and 100 was used in this test. Pipeline values greater than 1 can be used for bulk data transfers to increase the throughput of the application.

After enabling XPS (transmit packet steering), RPS (receive packet steering) and RFS (receive flow steering) on G8y and G7, performance can be improved on both instances. We observed up to 36% performance benefit of running a Redis database on Yitian 710 based instances compared to equivalent x86-based instances. The results shown in the following tables are an aggregated result of 30 consecutive test runs. 

Let us look at the performance numbers of Redis on G8y and G7 instances. We compared the throughput (operations/sec) values after multiple test runs. 

Pipeline parameter G7.2x (Requests/sec) G8y.2x (Requests/sec) Performance gain (%)
Pipeline=1 1252583.67 1382209.22 10%
Pipeline=50 9025599.47 10845599.09 20%
Pipeline=100 9708371.31 13200346.68 36%

Table 2. Redis throughput performance results on G8y vs. G7

Performance gains for G8y vs. G7 instances

Figure 2. Performance gains for G8y vs. G7 instances 

Conclusion

Redis deployed on Yitian 710 based ECS provides up to 36% more throughput compared to the equivalent x86 based ECS instances. In addition, according to Alibaba, the G8y instance based on Yitian 710 is priced 20% less than the G7 instance.

More Cloud Workloads on Arm


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK