Oracle cloud Australia launched in August 2019, they are the new comer after Google, AWS and Azure. Recently we have done a quick test on the VM.Standard.A1.Flex series instance, specially, this is an ARM-based processor instance. We are going to test 1core-15cores with 1core : 6 GB ram ratio.
INSTANCE SPECIFICATION
Shape | vCore | RAM (GB) | Disk (GB) | Up-Link | IPv4 |
---|---|---|---|---|---|
A1.Flex_1c | 1 | 6 | 50 | 1 Gbps | 1 |
A1.Flex_2c | 2 | 12 | 50 | 2 Gbps | 1 |
A1.Flex_4c | 4 | 24 | 50 | 4 Gbps | 1 |
A1.Flex_8c | 8 | 48 | 50 | 8 Gbps | 1 |
A1.Flex_12c | 12 | 72 | 50 | 12 Gbps | 1 |
A1.Flex_16c | 16 | 96 | 50 | 16 Gbps | 1 |
TEST ENVIRONMENT SETUP
We have setup a Ubuntu 20.x ARM shape for this test. We are using fio for disk i/o test, Geekbench 5.4.1 ARM Preview for CPU test and Speedtest cli app for internet speed test.
We have configured from 1,2,4,8,12 and 16 cores and up to 96 gb, which the maximum for trial and stated in the resource limit ( “Cores for Standard.A1 based VM and BM Instances” and “Memory for Standard.A1 based VM and BM Instances”, information link: https://cloud.oracle.com/limits )
DISK SPEED TEST
We use fio 3.16 repo to test the storage performance on all the A1.Flex instance. The result has shown the speed on the instance is the same across all the plans.
Shape | Sequential Write | Random Write | Sequential Read | Random Read |
---|---|---|---|---|
A1.Flex_1c | 52.7 | 12.3 | 53.8 | 12.3 |
A1.Flex_2c | 52.6 | 12.2 | 53.2 | 12.3 |
A1.Flex_4c | 52.5 | 12.3 | 53.3 | 12.3 |
A1.Flex_8c | 51.6 | 12.2 | 53.5 | 12.3 |
A1.Flex_12c | 52.2 | 12.3 | 53.1 | 12.3 |
A1.Flex_16c | 53.5 | 12.2 | 53.4 | 12.3 |
You will question immediately – how a 50MBps(~ 400Mbps) disk i/o speed gives a 1Gbps in A1.Flex_1c or even 16GBps in A1.Flex_16c intranet speed connection? The answer is “Oracle Cloud Storage is scaled“, that is auto tuned performance and larger volume performance will scale up . The above test result is base on the following boot volume scale, which is 60 IOPS/GB and throughput 480 KB/s/GB with balance policy in volume performance .
We will modify the Boot Volume to the allowed maximum configuration. (Block Storage> Boot Volume > The Volume > Edit )
** Ultra-high performance, recommended for the most demanding, I/O intensive workloads. Actual performance depends on the attached instance’s shape. Select the appropriate instance shape to optimize performance.
** Auto-tune Performance Off Auto-tune performance changes the volume performance to lower cost when the volume is detached. When the volume is reattached, the volume performance is automatically adjusted to the previous setting.
We have tried the different block size configurations below. Basically, if you want better IOPS you need a bigger block, even though your database is small.
Vol Size | IOPS | Read / Write |
---|---|---|
50GB | 11250 IOPS | 90 MB/s |
100GB | 22500 IOPS | 180 MB/s |
150GB | 33750 IOPS | 270 MB/s |
300GB | 67500 IOPS | 540 MB/s |
600GB | 135000 IOPS | 1080 MB/s |
900GB | 202500 IOPS | 1620 MB/s |
1.2TB | 270000 IOPS | 2160 MB/s |
1.5TB | 300000 IOPS | 2680 MB/s |
2TB | 300000 IOPS | 2680 MB/s |
The result shows big different with uhp configuration, however, there is no different in between cores and ram increasing. And the system shows 32768GB (32TB) is the maximum block size and the best iops / read / write speed is from 1500GB (1.5TB) .
As a result, volume performance is changed from balance to uhp and the test is being run again on A1.flex_1c and A1.flex_16c to find out the different, we rename the shape as A1.Flex_1c_uhp, A1.flex_16c_uhp and A1.flex_16c_max. And we tested A1.flex_16c_max with the best IOPS in 1.5 TB block.
the A1.flex_16c_max has been tested with 1GB, 10GB and 50GB per job, the result is similar, which limited at 500MB/s. The IO speed (upto) 2680MB/s has never been happened in this test.
Shape | Sequential Write | Random Write | Sequential Read | Random Read |
---|---|---|---|---|
A1.Flex_1c_uhp | 89.2 | 43.3 | 89.4 | 43.3 |
A1.flex_16c_uhp | 89.5 | 43.6 | 90.0 | 43.3 |
A1.flex_16c_max | 472 | 197 | 524 | 185 |
CPU & TASK TEST
Next, we use Geekbench scan and verify the sysinfo, but it CANNOT recognise the CPU Ampere Altra 80C MAX @2.8Ghz on the system, that all the A1.Flex plans are using the same ARM CPU.
Geekbench results a score board for a 16vCore setup is 853 single-core score and 11649 Multi-core Score and a report can also view from https://browser.geekbench.com/v5/cpu/10435104
Other Geekbench result can view from below. you will find out from the table that the more core and memory size, the higher score.
Shape | 1 core | multi-core | Result ID |
---|---|---|---|
A1.Flex_1c | 835 | 836 | 10433026 |
A1.Flex_2c | 836 | 1654 | 10433023 |
A1.Flex_4c | 829 | 3193 | 10433176 |
A1.Flex_8c | 849 | 6072 | 10433024 |
A1.Flex_12c | 839 | 8853 | 10437483 |
A1.Flex_16c | 853 | 11649 | 10435104 |
INTERNET SPEED
From the speed test result, 1 core is limited to 0.5Gbps, from 2cores to 12 cores is on the 1Gbps link, and surprisingly 16 cores is on the 2Gbps link, this is the best found so far. The other difference is the local network connection according to the network specification (https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm).
Shape | ISP | Ping | DL Mbps | UL Mbps | Result |
---|---|---|---|---|---|
A1.Flex_1c | Telstra | 1ms | 485.91 | 484.64 | record |
A1.Flex_2c | Telstra | 1ms | 966.30 | 965.11 | record |
A1.Flex_4c | Telstra | 1ms | 965.95 | 966.11 | record |
A1.Flex_8c | Telstra | 1ms | 969.74 | 968.66 | record |
A1.Flex_12c | Telstra | 1ms | 970.76 | 966.45 | record |
A1.Flex_16c | Telstra | 1ms | 1932.79 | 1932.25 | record |
There are too many to tryout on this Ampere Altra 80C, the performance is completed to AMD/INTEL platform, the only downside is some software is not support ARM at the moment, such as pageSpeed, and customize ARM OS image is not supported, such as Debian ARM image.
After all, this is a good experience to tryout Ampere Altra 80C. We must give a big hug to Oracle Cloud.