Developpez.com

Club des développeurs et IT pro
Plus de 4 millions de visiteurs uniques par mois

Sortie de Cutelyst 1.3
Le framework Web pour Qt gère maintenant le protocole FastCGI et améliore fortement sa performance

Le , par dourouc05, Responsable Qt
Cutelyst est un framework Web qui se base sur Qt en C++. Ses concepts sont très proches de ceux utilisés par Qt pour les interfaces graphiques, mais du côté Web. La version 1.3 apporte deux améliorations importantes. La première concerne la validation des entrées : adresse électronique, adresse IP, fichier JSON, date, etc. Les validateurs utilisés peuvent être partagées entre les différents fils d’exécution de l’application : il n’en faut qu’une instance pour servir un nombre illimité de clients.

Code qt : Sélectionner tout
1
2
3
4
static Validator v({ new ValidatorRequired(QStringLiteral("username") });
if (v.validate(c,Validator::FillStashOnError)) { 
    // …
}

La deuxième amélioration concerne plutôt la performance. Jusqu’à la version précédente, Cutelyst ne communiquait avec le serveur Web (Apache, NGINX, etc.) que par uWSGI. Cependant, le protocole uWSGI a un défaut de conception relativement gênant : la communication n’est pas gardée entre le serveur Web et l’application ; ainsi, lorsque le client effectue une nouvelle requête, la connexion HTTP est conservée jusqu’au serveur Web, mais pas jusqu’à l’application. FastCGI, au contraire, n’a pas cette limitation et est accepté par bon nombre de serveurs Web.

L’impact est important : là où uWSGI ne pouvait gérer que 30 000 requêtes par seconde avec NGINX, la simple transition vers FastCGI permet de gérer jusque 42 000 requêtes par seconde. Après d’autres optimisations de plus petite ampleur (comme la manière de gérer les en-têtes HTTP dans Cutelyst), le total monte même à 80 000 requêtes par seconde.

Source : Cutelyst 1.3.0 released.

Voir le code source.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Ingénieur produit (Landing gear) H/F
Safran - Ile de France - MASSY Hussenot
Ingénieur développement logiciels temps réel embarqué H/F
Safran - Ile de France - Éragny (95610)
Ingénieur moa logiciel H/F
Safran - Ile de France - Villaroche

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -