AWS Graviton3 का प्रदर्शन कैसा है?

API7.ai

June 7, 2022

Ecosystem

पृष्ठभूमि

AWS ने मई 2022 के अंत में ARM-आधारित AWS Graviton प्रोसेसर की नवीनतम श्रृंखला जारी की - AWS Graviton3। AWS के आधिकारिक डेटा के अनुसार, Graviton2 प्रोसेसर की तुलना में, अग्रणी DDR5 मेमोरी तकनीक पर आधारित Graviton3 प्रोसेसर 25% तक प्रदर्शन सुधार, 2x फ्लोटिंग पॉइंट प्रदर्शन और 50% तेज मेमोरी एक्सेस स्पीड प्रदान कर सकता है; Graviton3 समान प्रकार के EC2 इंस्टेंस पर 60% कम ऊर्जा का उपयोग करता है।

तो वास्तविक डेटा क्या है? आइए एक नेटवर्क IO घने API गेटवे को उदाहरण के रूप में लेते हैं और देखते हैं कि AWS Graviton3 कैसा प्रदर्शन करता है। यहां हम AWS Graviton2 (C6g) और AWS Graviton3 (C7g) सर्वर वातावरण पर Apache APISIX का उपयोग करके प्रदर्शन तुलना परीक्षण करते हैं।

Apache APISIX एक क्लाउड-नेटिव, उच्च प्रदर्शन, स्केलेबल API गेटवे है। NGNIX+LuaJIT और etcd पर आधारित, पारंपरिक API गेटवे की तुलना में, APISIX में डायनामिक रूटिंग और प्लगइन हॉट लोडिंग सुविधाएं हैं, जो क्लाउड नेटिव आर्किटेक्चर के तहत API प्रबंधन के लिए विशेष रूप से उपयुक्त है।

Apache APISIX

स्थापना और तैनाती

एक ARM64 चिप वाले सर्वर को तैयार करें, यहां हम Amazon EC2 C7g चुनते हैं (केवल इस मॉडल में अभी AWS Graviton3 है), और ऑपरेटिंग सिस्टम Ubuntu 20.04 चुनते हैं।

Amazon EC2

Docker स्थापित करना न भूलें:

sudo apt-get update && sudo apt-get install docker.io

Apache APISIX ने ARM64 इमेज का नवीनतम संस्करण जारी किया है, जिसे Docker का उपयोग करके एक क्लिक में तैनात किया जा सकता है। विस्तृत प्रक्रिया नीचे दी गई है।

  1. etcd शुरू करें
sudo docker run -d \ --name etcd -p 2379:2379 -e ETCD_UNSUPPORTED_ARCH=arm64 \ -e ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 \ -e ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379 \ rancher/coreos-etcd:v3.4.16-arm64
  1. APISIX शुरू करें
sudo docker run --net=host -d apache/apisix:2.14.1-alpine
  1. रूट पंजीकृत करें
curl "http://127.0.0.1:9080/apisix/admin/routes/1" \ -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d ' { "uri": "/anything/*", "upstream": { "type": "roundrobin", "nodes": { "httpbin.org:80": 1 } } }'
  1. परीक्षण
curl -i http://127.0.0.1:9080/anything/das
HTTP/1.1 200 OK .....

AWS Graviton2 और AWS Graviton3 का प्रदर्शन तुलना

पिछले ऑपरेशन्स के अनुसार, आधिकारिक स्क्रिप्ट के आधार पर, AWS Graviton3 प्रोसेसर पर APISIX की स्थापना और संगतता परीक्षण सफलतापूर्वक पूरा किया गया। आइए AWS Graviton2 (C6g) और AWS Graviton3 (C7g) पर Apache APISIX के प्रदर्शन को देखें।

सरलता के लिए, इस परीक्षण में APISIX में केवल एक वर्कर सक्षम किया गया है, और निम्नलिखित प्रदर्शन परीक्षण डेटा सभी सिंगल-कोर CPU पर चलाए गए हैं।

परिदृश्य 1: एकल अपस्ट्रीम

एकल अपस्ट्रीम का उपयोग करें, बिना किसी प्लगइन के। यह मुख्य रूप से शुद्ध प्रॉक्सी बैक-टू-ओरिजिन मोड में APISIX के प्रदर्शन का परीक्षण करता है।

# apisix: 1 worker + 1 upstream + no plugin # register route curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/hello", "plugins": { }, "upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1980":1 } } }'

परिदृश्य 2: एकल अपस्ट्रीम + दो प्लगइन्स

एकल अपस्ट्रीम का उपयोग करें, दो प्लगइन्स के साथ। यह मुख्य रूप से APISIX के प्रदर्शन का परीक्षण करता है जब दो मुख्य प्रदर्शन-खपत प्लगइन्स, limit-count और prometheus, सक्षम होते हैं।

# apisix: 1 worker + 1 upstream + 2 plugins (limit-count + prometheus) # register route curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/hello", "plugins": { "limit-count": { "count": 2000000000000, "time_window": 60, "rejected_code": 503, "key": "remote_addr" }, "prometheus": {} }, "upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1980":1 } } }'

डेटा तुलना

उपरोक्त दो परिदृश्यों में, अनुरोध प्रसंस्करण और विलंब समय के दो स्तरों से संबंधित परीक्षण और तुलना की गई। परिणाम निम्नलिखित हैं:

  1. QPS तुलना

QPS

  1. विलंब तुलना

Latency

तुलना तालिका

उपरोक्त डेटा से यह भी देखा जा सकता है कि API गेटवे जैसे नेटवर्क IO घने कंप्यूटिंग परिदृश्य में, AWS Graviton3 AWS Graviton2 की तुलना में प्रदर्शन में 76% सुधार करता है, जबकि विलंब को 38% कम करता है। यह डेटा AWS द्वारा दिए गए आधिकारिक डेटा (25% प्रदर्शन सुधार) से भी बेहतर है।

सारांश

यह लेख मुख्य रूप से Apache APISIX का उपयोग करके AWS Graviton3 और AWS Graviton2 के प्रदर्शन की तुलना करता है। यह देखा जा सकता है कि API गेटवे के नेटवर्क IO घने कंप्यूटिंग परिदृश्य में, AWS Graviton3 एक प्रदर्शन राक्षस के गुण दिखाता है। बेशक, यह भी सिफारिश की जाती है कि आप बहुत अभ्यास करें, और भविष्य में कंप्यूटिंग-घने परियोजनाओं के लिए और अधिक परीक्षण डेटा की प्रतीक्षा करें।

Tags: