当前位置:网站首页>API Gateway Apache apisix Installation and Performance Test on AWS graviton3
API Gateway Apache apisix Installation and Performance Test on AWS graviton3
2022-06-09 04:26:00 【Amazon Cloud Developer】
Pour l'instant Apache APISIX C'est fait. ARM64 Test de régression complète sous la plateforme,Script de construction corrigé dans ARM64 Quelques problèmes de compatibilité sous la plateforme.Cet article décrit brièvement les tests de déploiement,Présenté dans AWS Graviton Environnement,Que ce soit au niveau de la stabilité ou du traitement du débit,APISIX Ils sont tous très brillants.
Contexte
AWS In 2022 Année 5 La dernière édition de fin de mois est basée sur ARM Architecture AWS Graviton Processeur de série——AWS Graviton3.Selon AWS Données officielles,Avec Graviton2 Processeur comparé à,Basé sur le leadership DDR5 Technologie de la mémoire,Graviton3 Le processeur est disponible jusqu'à 25% Amélioration des performances、Jusqu'à 2 Double performance flottante et 50% Vitesse d'accès à la mémoire pour;Dans la performance avec la même EC2 Dans le même cas,Graviton3 Peut également être réduit 60% Énergie.
Et les données réelles?Prenons CPU Dense API Exemple de passerelle,Viens voir. AWS Graviton3 Comment ça se passe?.Ici, nous utilisons Apache APISIX In AWS Graviton2(C6g)Et AWS Graviton3(C7g) Comparaison des performances entre deux environnements de serveurs .
Apache APISIX C'est un nuage indigène、Haute performance、Extensible API Passerelle.Basé sur NGNIX+LuaJIT Et etcd Pour réaliser,Et la tradition API Comparaison des passerelles,APISIX Caractéristiques de routage dynamique et de chargement à chaud des plug - ins , Particulièrement adapté à l'architecture native du nuage API Gestion.

Préparez - vous.:Déploiement de l'installation
Avant le test, Besoin d'un support ARM64 Le serveur de la puce,Ici, nous avons choisi Amazon EC2 C7g( C'est le seul modèle disponible maintenant. AWS Graviton3), Système d'exploitation sélectionné Ubuntu 20.04.

Installation simultanée Docker.
sudo apt-get update && sudo apt-get install docker.ioPour l'instant,APISIX La dernière version de ARM64 Miroir,Peut être utilisé Docker Comment effectuer un déploiement en un clic . Voir ci - dessous pour le processus spécifique :
- Démarrage 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 - Démarrage APISIX
sudo docker run --net=host -d apache/apisix:2.14.1-alpine - Enregistrer le routage
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 } } }' - Test d'accès
curl -i http://127.0.0.1:9080/anything/das HTTP/1.1 200 OK .....AWS Graviton2 Et AWS Graviton3 Comparaison des performances
Selon ce qui précède ,Basé surScript officielTerminé avec succès APISIX In AWS Graviton3 Installation et essais de compatibilité sur le processeur .Voyons ça. Apache APISIX In AWS Graviton2(C6g)Et AWS Graviton3(C7g)Performance sur.
Pour faciliter les tests,Dans cet exemple APISIX Il n'y en a qu'un. Worker, Les données d'essai de performance suivantes sont dans un seul noyau CPU Running on.
Scénario I: Amont unique
Utiliser un seul amont dans ce scénario ( Ne contient aucun plug - in ),Principaux tests APISIX Performance en mode de retour à la source par procuration pure . Tester dans un environnement local :
# apisix: 1 worker + 1 upstream + no plugin # Enregistrer le routage 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 } } }'Scénario II: Monoamont +Plug - ins multiples
Un autre scénario utilise un seul amont pour travailler avec plusieurs plug - ins , Deux plug - ins sont utilisés ici .Principaux tests APISIX On
limit-countEtprometheusPerformance avec deux plug - ins de performance de consommation de base .# apisix: 1 worker + 1 upstream + 2 plugins (limit-count + prometheus) # Enregistrer le routage 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 } } }'Comparaison des données
Dans les deux scénarios ci - dessus, Les tests de corrélation et la comparaison sont effectués à partir du traitement des demandes et du délai. .Les résultats sont les suivants:: 1、 QPS Comparer

2、Latency Comparer
| Amont unique | Amont unique +Deux plug - ins | |||
AWS Graviton2 | AWS Graviton3 | AWS Graviton2 | AWS Graviton3 | |
QPS (request/s) | 13000 | 23000 (Promotion76%) | 11000 | 18000 (Promotion63%) |
Latency (ms) | 1.11 | 0.68 (Réduction38%) | 1.39 | 0.88 (Réduction37%) |
Comme vous pouvez le voir à partir des données ci - dessus ,In API La passerelle. CPU Dans un scénario de calcul intensif,AWS Graviton3 Que AWS Graviton2 Amélioration des performances de 76%, En même temps, le délai est réduit 38%. Ce chiffre est plus élevé que celui mentionné au début AWS Données officielles(25%Amélioration des performances) Et d'être excellent. .
Résumé
Cet article se compose principalement de Apache APISIX C'est fait. AWS Graviton3 Avec AWS Graviton2 Comparaison des performances,Comme vous pouvez le voir dans API Passerelle CPU Dans un scénario de calcul intensif,AWS Graviton3 Ça montre les propriétés du monstre de performance. .Bien sûr., Nous vous recommandons également de pratiquer davantage , Attente de données d'essai pour d'autres projets à forte intensité de calcul .
边栏推荐
- 渲染管线----通俗易懂向面试官介绍
- Implementation of horizontal and vertical center of unknown width and height elements
- Stepn analysis
- Test website construction + penetration + audit Part II penetration test
- 5. Quick (Group) sort
- (7) Attribute binding
- Format interchange among Yolo, coco and VOC datasets
- 变量提升和函数提升
- 1264_FreeRTOS任务的初始化以及堆栈初始化处理分析
- Principle analysis of the bottom plate of Ruixin micro rk3399 development board
猜你喜欢

MMdet修改检测框字体大小、位置、颜色、填充框

keepalived配置虚拟IP

音频功率放大电路(使用过的语音方案电路记录)

17billion parameters, 28 open test sets SOTA, the industry's largest unified visual multi task model

Winform UI界面设计例程——自定义控件progressBar

proteus仿真Arduino

全国大学生信息安全竞赛(CISCN)-reverse-复现(部分)

Software testing (II)

openGL_ 01 create window

2022安全员-C证考试练习题模拟考试平台操作
随机推荐
Hisi3559av100, Mipi camera input interface debugging
Expansion chip, hisi3559av100 I2C debugging
Binary processing of opcv image
Pdf merge based on pyqt5
测试网站搭建+渗透+审计之第三篇Swagger接口渗透测试
openGL_04使用索引数组进行绘制
Software testing (II)
[w806 drummer's notes]fpu performance simple test - May 23, 2022
VS Code `launch.json` 和 `task.json` 中可使用的预定义变量
Golang--- redis operation
Win10安装appium环境
软件测试(二)
知识点滴- BC和BCE的区别
proteus仿真Arduino
Golang ---image-- overlap of thermal maps and photos
OpenGL 01 - créer une fenêtre
User controlled keyboard and mouse custom script
View local public IP
Win10 installing appium environment
2022年高压电工考试模拟100题及答案
