当前位置:网站首页>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.io

Pour 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 :

  1. 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
  2. Démarrage APISIX
    sudo docker run --net=host -d apache/apisix:2.14.1-alpine
  3. 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
        }
      }
    }'
  4. 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-count Et prometheus Performance 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 Graviton2AWS 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 .

原网站

版权声明
本文为[Amazon Cloud Developer]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/160/202206090424524887.html