Server ARM - lebih efisien dan lebih murah

Tahun ini, Apple mengejutkan pasar prosesor desktop dengan chip Apple M1 dan perangkat berbasis itu. Peristiwa serupa terjadi di dunia komputasi awan tahun lalu. AWS telah merilis jenis server baru berdasarkan prosesor ARM Graviton2-nya sendiri. Menurut Amazon, prosesor baru ini memiliki rasio kinerja terhadap harga 40% lebih tinggi daripada x86. Pembaruan terbaru lainnya adalah server Amazon RDS (layanan cloud yang menyediakan server database) di Graviton2. Saya menjalankan beberapa benchmark dan uji beban pada aplikasi backend nyata untuk melihat apakah server ARM sebagus itu dan untuk melihat masalah kompatibilitas apa yang mungkin timbul.





Performa

Saya membandingkan jenis server t4g.small (ARM) dan t3.small (x86) di AWS. Pada saat penulisan ini, harga per jam untuk server x86 adalah $ 0,0208, dan untuk server ARM - $ 0,0168. Server ARM lebih murah 20%.





Pertama, saya melakukan uji beban menggunakan wrk, menjalankan instalasi recap.dev baru di server





Ini adalah template tulis-buruh pelabuhan dengan 4 proses. Server web yang menerima permintaan dan menyimpannya di RabbitMQ dan proses latar belakang terpisah yang menyimpan permintaan dalam kelompok 1000 di PostgreSQL.





Saya menjalankan wrk di server t3.2xlarge yang terletak di wilayah yang sama menggunakan perintah berikut:





wrk -t24 -c1000 -d300s -s ./post.lua <hostname>
      
      



Ini mengirimkan permintaan terus menerus selama 5 menit menggunakan 24 aliran dan 1000 koneksi HTTP.





Hasil untuk server t4g.small (ARM):





  24 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   473.53ms   53.06ms   1.96s    81.33%
    Req/Sec   115.83     96.65   494.00     71.32%
  620751 requests in 5.00m, 85.84MB read
  Socket errors: connect 0, read 0, write 0, timeout 225
Requests/sec:   2068.48
Transfer/sec:    292.90KB
      
      



Untuk server t3.small (x86):





 24 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   600.28ms   70.23ms   2.00s    72.53%
    Req/Sec    92.77     82.25   404.00     70.26%
  488218 requests in 5.00m, 67.51MB read
  Socket errors: connect 0, read 0, write 0, timeout 348
Requests/sec:   1626.87
Transfer/sec:    230.37KB
      
      



Server ARM melayani 27% lebih banyak permintaan per detik rata-rata 26% lebih cepat.









Phoronix.





pts/compress-7zip-1.7.1 t4g.small (ARM) 6833 MIPS, t3.small (x86) - 5029 MIPS. ARM 35%.





ARM pts/c-ray 2 . 958 x86 458 ARM .









pts/ramspeed, .









t4g.small (ARM)





t3.small (x86)





Add/Integer





50000 /c





13008 /c





Copy/Integer





58650 /c





11772 /c





Scale/Integer





31753 /c





11989 /c





Triad/Integer





36869 /c





12818 /c





Average/Integer





44280 /c





12314 /c





Add/Floating Point





49775 /c





12750 /c





Copy/Floating Point





58749 /c





11694 /c





Scale/Floating Point





58721 /c





11765 /c





Triad/Floating Point





49667 /c





12809 /c





Average/Floating Point





54716 /c





12260 /c





, t4g.small Graviton2 3 5 .





, ARM . .





, .





ARM . , Docker .rpm .deb, (, Docker ). , docker-compose ARM , . , , ARM . , , , ARM , .





Amazon RDS Graviton2 ARM .





ARM Docker recap.dev arm/v7 arm64.








All Articles