Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 15688|Répondre: 0

[ASP.NET] 8 façons d’améliorer les performances de votre API Web ASP.NET

[Copié le lien]
Publié sur 11/01/2016 14:37:43 | | | |
ASP.NET API Web est une excellente technologie. Écrire des API Web est si facile que de nombreux développeurs ne prennent pas le temps de structurer leurs applications pour obtenir de bonnes performances d’exécution.
Dans cet article, je vais couvrir 8 techniques pour améliorer les performances de ASP.NET API Web.
1) Utiliser l’outil de sérialisation JSON le plus rapide
La sérialisation du JSON a un impact critique sur les performances de l’ensemble de l’API Web ASP.NET. Dans l’un de mes projets, je suis passé du sérialiseur JSON.NET à ServiceStack.Text pendant un an et demi.
J’ai mesuré que les performances de l’API Web se sont améliorées d’environ 20 %. Je vous recommande vivement d’essayer cet outil de sérialisation. Voici quelques données comparatives récentes sur les performances des outils de sérialisation populaires.
SerializerPerformanceGraf
Source : theburningmonk
Mise à jour : Il semble que StackOverflow utilise Jil, leur outil de sérialisation JSON revendiqué à ce jour. Une donnée de test est disponible sur leur page GitHub Jil Serializer.
2) Sérialiser manuellement le JSON à partir de DataReader
J’ai utilisé cette approche dans mes projets et j’ai obtenu des avantages en termes de performance.
Vous pouvez créer manuellement des chaînes JSON à partir du DataReader et éviter la création d’objets inutiles, afin de ne pas avoir à prendre des valeurs du DataReader et à écrire sur des objets, puis à prendre des valeurs de ces objets et à utiliser le JSON Serialiser pour générer du JSON.
Utilisez StringBuilder pour générer du JSON et retournez StringContent à la fin comme contenu de la réponse dans l’API Web.

Vous pouvez découvrir d’autres façons de faire cela sur le blog de Rick Strahl
3) Utiliser d’autres formats de protocole (tampon protocolaire, pack de messages) autant que possible
Si vous pouvez utiliser d’autres formats de messages dans votre projet, comme des tampons de protocole ou des packs de messages, au lieu d’utiliser du JSON.
Vous bénéficierez d’un énorme avantage en performance, non seulement parce que les tampons de protocole sont très rapides en sérialisation, mais aussi parce qu’ils sont formatés plus rapidement que le JSON dans les résultats retournés.
4) Mettre en œuvre la compression
Utilisez GZIP ou Deflate dans votre API Web ASP.NET.
La compression est un moyen simple et efficace de réduire la taille et la réactivité des paquets de réponse.
C’est une fonctionnalité très nécessaire, vous pouvez consulter plus d’articles sur la compression sur mon blog ASP.NET Web API, compression GZip, ActionFilter avec 8 lignes de code.
5) Utilisation de la mise en cache
L’utilisation de la mise en cache de sortie dans la méthode Web API est très importante. Par exemple, si un grand nombre d’utilisateurs accèdent au contenu de réponse qui ne change qu’une fois par jour.
Si vous souhaitez mettre en œuvre la mise en cache manuelle, comme la mise en cache des mots de passe utilisateurs en mémoire, consultez mon article de blog Simple way to implementing in ASP.NET Web API.
6) Utiliser des ADO.NET typiques autant que possible
Écrire ADO.NET manuellement reste le moyen le plus rapide d’obtenir des valeurs de la base de données. Si la performance de vos API web est vraiment importante pour vous, alors n’utilisez pas les ORM.
Vous pouvez voir des comparaisons de performances entre les ORM les plus populaires.
ORMMapper


Le code de récupération élégant et manuscrit est rapide, et effectivement, tous les ORM sont plus lents que les trois.
LLBLGen avec un cache de résultats est rapide, mais il doit réitérer l’ensemble de résultats et instancier l’objet en mémoire.
7) Implémenter une approche asynchrone dans l’API Web
L’utilisation d’un service API Web asynchrone augmente considérablement le nombre de requêtes HTTP traitées par les API Web.
L’implémentation est simple, il suffit d’utiliser le mot-clé asynchrone et de changer le type de valeur de retour de votre méthode en Tâche.

8) Retourne plusieurs ensembles de résultats et combinaisons d’ensembles
Réduire le nombre de transferts est bénéfique non seulement pour plusieurs bases de données, mais aussi pour les API Web, qui permettent d’utiliser la puissance des ensembles de résultats.
Cela signifie que vous pouvez extraire plusieurs ensembles de résultats à partir de DataReader, voir le code de démonstration suivant :

Vous pouvez retourner plusieurs objets en une seule réponse depuis une API Web, essayez de combiner vos objets retournés et retournez les objets suivants :

Cela réduira les requêtes HTTP vers votre API WEB.
Merci d’avoir lu cet article.




Précédent:SyntaxError: Missing parentheses in call to print
Prochain:vsftpd pour ajouter de nouveaux utilisateurs
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com