Nos hébergements de site web sont propulsés par LiteSpeed Enterprise, un serveur web qui remplace avantageusement Apache.
Présentation
Définition
Un serveur web (httpd) est un logiciel permettant d’envoyer vos pages web et fichiers à votre navigateur, plus celui-ci est rapide, plus les pages de votre site arriveront vite.
LiteSpeed Enterprise
LiteSpeed Enterprise est un serveur web haute performance, permettant de gérer un très grand nombre d’affichages simultanés qui est compatible avec Apache.
LiteSpeed Technologies développe deux versions de son serveur web, une version open source (OpenLiteSpeed) et une version payante (LiteSpeed Enterprise).
OpenLiteSpeed, la version open source permet à LiteSpeed Tehnologies de tester et de vérifier une partie de leurs innovations avant de les implémenter dans LiteSpeed Enterprise.
LiteSpeed Enterprise, la version commerciale de LiteSpeed Technologies a l’avantage d’être totalement compatible avec les fichiers .htacces
(permettant l’URL Rewriting, les redirections, la protection de fichiers ou dossiers…).
La performance
Fichiers statiques
Un fichier statique est un fichier appelé directement par le serveur web, soit par exemple un fichier html ou une image.
Dans les benchmarks effectués par LiteSpeed, pour les fichiers statiques avec le KeepAlive activé, LiteSpeed Enterprise 4.2.5 est parvenu à gérer plus de requêtes par seconde que Apache ou Nginx :
- 6,33 fois plus qu’Apache 2.4.6 en event MPM ;
- 3,45 fois plus qu’Apache 2.2.25 en prefork MPM ;
- 1.66 fois plus que NginX 1.4.3.
Fichiers dynamiques
Les serveurs web se distinguent lors de l’exécution d’un script PHP, par le temps avant l’exécution et le temps après l’exécution d’un script PHP. Par conséquent, il n’y a pas d’utilité de faire un benchmark d’un script PHP de taille importante.
Voici le script PHP utilisé pour ce benchmark (effectué par LiteSpeed Technologies) :
<?php echo "Hello World";?>
LiteSpeed dispose de son propre interpréteur PHP nommé LSAPI. Avec l’option Keep Alive
activée sur tous les serveurs web, LiteSpeed avec LSAPI a su gérer plus de requêtes par seconde que Apache et Nginx :
- 1,16 fois plus rapide que LiteSpeed avec PHP-FPM ;
- 1,50 fois plus rapide qu’Apache 2.2.25 avec mod_PHP ;
- 1,86 fois plus rapide que Nginx avec PHP-FPM ;
- 3,03 fois plus rapide qu’Apache 2.4.6 avec PHP-FPM ;
- 39,96 fois plus rapide qu’Apache 2.2.25 avec suPHP.
Fichiers compressés
Apache n’a pas de système de cache pour les fichiers compressés avec mod_deflate. LiteSpeed et Nginx ont tous deux la possibilité de mettre en cache les fichiers compressés. Cela permet de réduire grandement la latence avant l’envoi du fichier au navigateur lorsque la compression est activée.
Nous activons donc par défaut la compression gzip pour les fichiers compressibles, cela permet de réduire le temps nécessaire au téléchargement d’un fichier.
Cache .htaccess
L’utilisation de fichier .htaccess
d’Apache est très critiqué parce que cela réduit les performances ( chaque affichage nécessite un appel à un fichier .htaccess). LiteSpeed garde un cache des fichiers .htaccess, ce qui lui permet de ne pas être touché par cette lenteur.
Les fichiers .htaccess
ne sont presque jamais désactivés dans Apache puisqu’ils sont nécessaires lorsque les clients n’ont pas accès directement aux fichiers de configuration d’Apache.
Ngnix et OpenLiteSpeed n’ont pas de support de fichiers .htaccess, cela peut être contourné par un panneau administration permettant aux utilisateurs d’ajouter leurs règles, mais il est beaucoup plus simple pour un utilisateur ayant l’habitude d’avoir ces fichiers de pouvoir continuer à les utiliser.
Cache dynamique, aussi rapide que Varnish !
La mise en place d’un cache comme celui de Varnish est assez délicate puisqu’il faut déterminer tous les fichiers à ne pas mettre en cache. Il n’y a donc que peu de cas où cela est facile à faire, soit pour les sites avec un contenu qui ne change pas souvent.
LiteSpeed dispose d’un moteur de cache comme Varnish qui peut être activé sans un fichier .htaccess
. N’hésitez pas à nous contacter si vous pensez que votre site dispose d’un contenu adapté à ce type de cache (avec une interface administration bien séparée du contenu, et sans changement des contenus à chaque affichage de page).
PHP appelé en mode deamon
Attention : Le contenu de cette section est très technique !
Le mode deamon
de LiteSpeed, consiste à avoir un processus parent qui est cloné pour créer des processus enfants, cela permet de réduire le temps et les ressources nécessaires pour ouvrir un nouveau processus par contraste SuPHP lance un nouveau processus par Affichage et PHP en fast CGI permet de réutiliser chaque processus plusieurs fois, mais lors d’une augmentation du nombre de visites en simultanée est obligé de lancer de nouveaux processus.
PHP avec un processus parent par utilisateur
Attention : Le contenu de cette section est très technique !
Le nouveau mode deamon
nommé Processgroup de LiteSpeed, permet à chaque utilisateur d’avoir son propre processus parent.
Ce nouveau mode nous permet de proposer des caches opcode
isolés par utilisateur (APC, Xcache, Zend Opcache) ainsi que des caches de variables, non accessibles depuis le compte d’un autre utilisateur (APCu, var cache de Xcache…).
PHP-FPM est le seul autre système PHP permettant de créer un processus parent par utilisateur, mais cela est compliqué : il faut lancer un nouveau processus PHP-FPM avec son propre fichier de configuration par pool de processus enfants. Comme aucun panneau de contrôle ne permet de gérer ce type de configuration et que PHP-FPM n’a pas un mode permettant d’arrêter et de lancer automatiquement un pool de processus à la demande, ce mode de fonctionnement ne convient pas encore pour un hébergement mutualisé.
La compatibilité
Compatibilité avec Apache
LiteSpeed Enterprise lit les fichiers de configuration d’Apache, lit les fichiers .htaccess, et est même compatible avec certaines règles mod_security
.
Tous les scripts PHP qui utilisent des fichiers .htaccess
fonctionnent sous LiteSpeed (WordPress, Prestashop, Magento, Joomla, PHPBB…).
Compatibilité avec CloudLinux
LiteSpeed a travaillé sur la compatibilité avec CloudLinux pour la version 4.2.5. Il est désormais totalement compatible avec l’isolement de ressources proposé par CloudLinux.
De plus il est totalement compatible avec PHP-Selctor de CloudLinux qui vous permet de choisir votre version et vos modules de PHP.
Compatibilité future avec HybridCluster
Dans notre article du 15 janvier 2014, nous vous avons parlé d’une nouvelle technologie nommée HybridCluster. Les développeurs de cette solution travaillent avec LiteSpeed pour permettre de remplacer leur serveur web Apache par celui de LiteSpeed.
Conclusion
LiteSpeed est un des serveurs web les plus performants, il permettra à votre application d’être aussi rapide que sur son propre serveur dédié. Grâce à sa compatibilité et sa performance, c’est à notre avis le meilleur serveur web.