15 astuces pour bien utiliser votre serveur Raspberry Pi

Si vous cliquez sur nos liens et effectuez un achat, nous pouvons recevoir une commission d'affiliation. En savoir plus

J’utilise un Raspberry Pi comme serveur à la maison depuis de nombreuses années maintenant. Et comme pour mes autres machines, j’essaye de le garder aussi plus réactif que possible. Si votre serveur Pi semble lent ou si vous voulez en savoir plus sur comment optimiser, laissez-moi vous donner quelques conseils pour accélérer les choses.

Pour optimiser un Raspberry Pi pour les tâches de serveur, choisissez des applications légères, ajoutez un stockage plus rapide, gérez les options de mémoire, optimisez les connexions réseau et jouez avec les priorités du CPU.

Prêt pour des détails ? Je vais commencer par des méthodes de base et ensuite parler de quelques méthodes plus avancées au fur et à mesure, afin que vous puissiez booster votre Raspberry Pi à son max !

Si vous débutez avec Raspberry Pi ou Linux, j’ai quelque chose qui peut vous aider !
Téléchargez ma fiche mémo des commandes Linux gratuitement – c’est un guide de référence rapide avec toutes les commandes essentielles dont vous aurez besoin utiliser votre Raspberry Pi. Cliquez ici pour l’obtenir gratuitement !

Installer un système d’exploitation léger

Un serveur performant est un serveur qui n’a que ce qui est essentiel, afin de pouvoir consacrer le reste de ses ressources à remplir son objectif principal.

Installer une distribution Linux prévue pour le bureau peut sembler pratique car elle intègre de nombreuses fonctionnalités courantes, mais cela signifie également que votre serveur est surchargé de fonctionnalités supplémentaires qui consomment des ressources.

Vous pouvez faire mieux en commençant par un système d’exploitation léger et en n’installant que ce dont vous avez besoin.

Si vous êtes débutant, optez pour l’édition Lite de Raspberry Pi OS, qui peut être flashée facilement à partir de Raspberry Pi Imager. Pour les utilisateurs intermédiaires, je recommande l’installation de DietPi, qui démarre avec moins de paquets et devrait être plus rapide. Enfin, les utilisateurs avancés à la recherche d’un défi peuvent essayer Alpine Linux, qui est extrêmement rapide et si minimaliste qu’elle s’installe en utilisant moins de 200 MB d’espace disque.

Se débarrasser de l’environnement de bureau

Cette astuce est semblable à l’idée d’utiliser un OS léger ; c’est-à-dire, garder les choses simples. Tous mes serveurs fonctionnent « headless », ce qui signifie que je n’ai pas de moniteur branché, donc je n’ai pas besoin d’une interface graphique.

Les environnements de bureau (DE) peuvent consommer jusqu’à 2 Go de RAM au minimum, ce qui est conséquent pour un Raspberry Pi, sans parler de l’installation de dépendances dont vous n’aurez pas besoin sur un serveur. Non seulement ceux-ci rendent les mises à jour plus problématiques, mais ils créent également une surface d’attaque plus grande pour les pirates informatiques.

Pour créer un serveur sans environnement de bureau, installez à partir d’un ISO minimal.
Par exemple, Alma Linux propose différents types d’images pour l’installation, et l’une d’entre elles est une ISO minimale sans DE.

D’accord, mais que faire si vous avez déjà un système en place et que vous ne voulez pas tout recommencer ? Dans ce cas, vous pouvez désactiver l’environnement de bureau puis désinstaller les packages associés.

Désactiver les services inutiles

Les services sont des programmes qui fonctionnent en arrière-plan et effectuent des tâches essentielles sur votre système. Mais si vous exécutez, disons, un simple serveur de fichiers, vous n’avez pas besoin de tous les services existants.

De nombreuses distributions Linux installeront par défaut des services que vous ne voudrez ou n’aurez pas besoin, ce qui consomme des ressources. Ce n’est pas optimal.

Une bonne pratique pour un serveur est de désactiver et de désinstaller les services non utilisés.

Tout d’abord, utilisez la commande systemctl (en anglais) pour voir quels services se trouvent sur votre système :
systemctl list-units --type=service --all

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
systemctl list services

Par exemple, je n’ai pas d’imprimante connectée à mon serveur, donc je n’ai pas besoin du service d’impression (CUPS).
Je vais donc arrêter et désactiver CUPS pour qu’il ne se charge pas au démarrage :
sudo systemctl stop cups
sudo systemctl disable cups

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Conseils bonus : 7 commandes Linux simples pour voir ce qui ralentit votre système (en anglais)

Utiliser un stockage plus rapide

different ssd drive versions
Boîtiers externes USB pour SSD

Une carte SD, le stockage par défaut pour Raspberry Pi, est petite et pratique, mais c’est aussi le type de stockage le plus lent que vous pouvez utiliser. Heureusement, il existe une solution simple à ce problème : ajouter un stockage plus rapide rendra votre serveur plus réactif.

Une possibilité est d’ajouter un boîtier externe USB, afin que vous puissiez attacher un SSD, des disques plus rapides qui sont plus couramment trouvés dans les PC. Alternativement, si vous avez un modèle Raspberry Pi plus récent et que vous voulez le stockage le plus rapide disponible, alors envisagez de passer à un SSD NVMe interne.

Un des tests de performance que nous avons effectués ici a montré qu’un SSD externe est 2x-4x plus rapide qu’une carte SD, tandis qu’un SSD NVMe était environ 5x-10x plus rapide, selon l’opération.

Écrire des logs en RAM

log2ram sur raspberry pi bannière de données envoyées à des puces mémoire

Certains types de serveurs, notamment les serveurs web ou les serveurs de jeux, génèrent beaucoup de journaux. Et si vous exécutez plusieurs serveurs à la fois, la journalisation peut créer des écritures de disque constantes qui causent des pertes de performance, ou pire, accélèrent la mort de votre périphérique de stockage.

Vous pourriez penser que désactiver les journaux est la solution, mais alors vous ne saurez pas comment résoudre les problèmes lorsque quelque chose va mal. Ça, c’est exclu. Je pense que les journaux de serveur sont essentiels. Au lieu de ça, une meilleure solution est de écrire temporairement les journaux en mémoire, ce qui est rapide, puis d’écrire en bloc les modifications sur le disque plus tard.

Ça semble difficile à mettre en œuvre, mais il y a un programme appelé Log2Ram qui fait cette magie pour vous. Il fonctionne très bien sur le Raspberry Pi, et nous avons déjà écrit un guide à ce sujet ici : Installer Log2Ram sur Raspberry Pi.

Créer un espace de swap

Un swap est un gros fichier sur le disque qui est utilisé pour aider les opérations de mémoire physique. Sur de nombreuses distributions Linux, une partition de swap dédiée est automatiquement créée pour vous lors de l’installation, donc vous ne l’avez peut-être jamais remarquée travaillant discrètement en arrière-plan.

J’ai été surpris de constater que certaines installations minimales ne créent pas du tout d’espace swap. Vous pourriez supposer que cela conduirait à un serveur plus rapide dans l’ensemble, en ne dépendant que de la RAM. Dans mon expérience, même lorsque j’ai un serveur avec beaucoup de RAM, j’ai constaté qu’un espace swap empêche les blocages aléatoires et favorise une performance fluide du système.

Voici comment vérifier si vous avez un swap et comment en créer un si vous ne l’avez pas :

  • Vérifiez si votre système a déjà un swap :
    swapon --show
  • Si votre système n’en montre pas un existant, voici comment créer un swap de 2 Go :
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
  • Si vous avez déjà un swap mais que vous souhaitez changer sa taille, vous devrez rechercher comment le faire pour votre système d’exploitation spécifique, car le processus différera selon la configuration.

Pour plus de recommandations sur la taille du swap à créer en fonction de la quantité de RAM que votre Raspberry Pi possède, consultez notre article sur le swap (en anglais).

Réduire l’allocation de mémoire GPU

Saviez-vous que le Raspberry Pi est conçu pour partager une partie de la mémoire système avec le GPU ?

Par exemple, selon les informations ci-dessous, ce Raspberry Pi 4 particulier a 948 Mo de RAM dédiés au processeur et 76 Mo de RAM dédiés aux graphiques :

vérifier l'allocation de mémoire gpu

Si vous faites fonctionner un serveur sans tête sans environnement de bureau, cette mémoire supplémentaire est mieux utilisée pour rendre votre serveur plus rapide. Vous pouvez réduire la mémoire réservée au GPU pour libérer plus de mémoire pour les opérations du serveur.

Voici comment modifier l’allocation de mémoire GPU sur un Raspberry Pi :

  • Éditez le fichier config.txt :
    sudo nano /boot/firmware/config.txt
  • Ajoutez cette ligne en haut :
    gpu_mem=16
    (16 MB est la valeur minimale autorisée.)
  • Redémarrez :
    sudo reboot

Note : Cette astuce ne fonctionnera pas sur les modèles Raspberry Pi 5, Pi 500, ou CM5. Elle devrait toutefois continuer à fonctionner sur le Pi 4 et les modèles précédents.

Mais je dois vous prévenir : ce paramètre désactivera également les codecs vidéo et le support de la caméra. C’est excellent pour augmenter les performances, mais pas si vous utilisez Plex, Jellyfin, Kodi, ou tout autre serveur multimédia qui dépend du support vidéo.

Connexion via Ethernet

Plus il y a de points de connexion Wi-Fi dans une chaine de connexion, plus celle-ci est ralentie par la distance, les murs et les interférences. Sans oublier que l’adaptateur Wi-Fi du Raspberry Pi n’est pas le plus puissant.

Pour cette raison, utiliser une connexion Ethernet filaire pour votre serveur est supérieur pour la vitesse et la stabilité.

Je me souviens avoir essayé de diffuser Squid Game en 4K HD depuis mon serveur Raspberry Pi (Wi-Fi) vers mon ordinateur portable (Wi-Fi) à travers le réseau local, et il bloquait tout le temps pour tamponner. J’ai décidé de tester la vitesse de lien réseau entre les appareils directement.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
  • Exécutez cette commande sur le Raspberry Pi pour commencer à écouter :
    iperf3 -s
    (Vous devrez d’abord installer le paquet iperf3.)
  • Exécutez cette commande sur votre appareil client pour tester la vitesse de liaison :
    iperf3 -c 192.168.1.100
    (Remplacez l’adresse IP dans l’exemple ci-dessus par l’adresse de votre Raspberry Pi.)

Il s’avère, d’après mes résultats, que la vitesse du réseau local entre elles était fortement sous-performante en raison des complications du Wi-Fi. Une fois que j’ai connecté le Pi à mon réseau via Ethernet, la vitesse de liaison s’est considérablement améliorée, même lorsqu’il sert des clients connectés via Wi-Fi.

test de vitesse de liaison iperf3
Vitesse de liaison réseau entre Raspberry Pi (Ethernet) et appareil client (Wi-Fi).

Désactiver le Wifi et le Bluetooth

Vous souvenez-vous que nous avons recommandé plus tôt de se connecter via un réseau filaire et de désactiver les services inutiles ?

Et bien, si vous hébergez un serveur Raspberry Pi connecté via Ethernet, il y a de fortes chances que vous n’ayez pas besoin de ses fonctionnalités Bluetooth et Wi-Fi. Même lorsqu’ils ne sont pas utilisés, ces modules consomment des ressources système.

Voici comment désactiver le Wi-Fi et le Bluetooth sur le Raspberry Pi:
sudo rfkill block wifi
sudo rfkill block bluetooth

En tant que mesure de sécurité, ils reviendront en ligne après un redémarrage. Si vous êtes certain de vouloir les désactiver définitivement, je vous propose une méthode dans mon guide 7 façons de désactiver le Wi-Fi sur Raspberry Pi.

Configurer une IP statique

Dans la plupart des configurations de réseau domestique, votre Pi recevra automatiquement une adresse IP aléatoire de votre routeur. Malheureusement, cela signifie que le Pi peut se voir attribuer une IP différente à chaque fois qu’il redémarre.

Si vous utilisez votre serveur localement, il est plus facile d’automatiser les raccourcis si l’IP est toujours la même.

Ou si vous devez vous connecter à votre Pi à distance (en anglais) via internet, vous devrez peut-être configurer la redirection de ports vers une adresse interne spécifique. Ces deux situations deviennent bien plus compliquées si l’adresse IP change dynamiquement.

En bref, il est beaucoup plus facile de gérer si vous attribuez une adresse IP statique à votre Raspberry Pi.

set static IP router

Je préfère définir une IP statique en utilisant le panneau d’administration de mon routeur, mais d’autres méthodes fonctionnent. Je les aborde dans mon article 3 façons faciles de définir une adresse IP statique sur Raspberry Pi.

Mettre en cache des requêtes DNS

Chaque fois que votre serveur se connecte à quelque chose sur Internet, il traduit le domaine (par exemple, raspberrytips.com) en une adresse IP (par exemple, 162.159.133.45). Pour effectuer cette résolution, il doit contacter un serveur DNS sur Internet pour faire cette demande.

Ce processus crée un temps de latence, qui est inutile lorsque vous vous connectez aux mêmes endroits. Vous ne réalisez peut-être pas non plus que les serveurs DNS fournis par votre fournisseur d’accès Internet sont assez lents.

Afin d’optimiser les performances de votre Raspberry Pi, il est recommandé d’accélérer les requêtes DNS en mettant en place une fonction de mise en cache. En stockant ces recherches localement, il peut effectuer toutes ses activités de serveur plus rapidement.

Pour configurer la mise en cache DNS, vous avez juste besoin d’un logiciel comme Unbound, Bind, ou DNSMasq. J’ai écrit un guide à ce sujet ici : Comment utiliser votre Raspberry Pi comme serveur DNS.

Refroidir le Raspberry Pi avec un boîtier

Le Raspberry Pi 5 à l’intérieur d’un boîtier Pironman 5-MAX avec des ventilateurs RGB.

Lorsqu’un composant d’ordinateur surchauffe au-delà de sa spécification prévue, cela peut entraîner des dommages permanents. Heureusement, le Raspberry Pi dispose d’un mécanisme de sécurité pour éviter la surchauffe : il se bride lui-même dès que le CPU dépasse 80 °C.

C’est très bien pour protéger votre matériel, mais moins bien pour les performances du serveur. Pour empêcher votre Raspberry Pi de se réguler lui-même, vous devrez fournir un refroidissement adéquat.

Le moyen le plus simple d’ajouter une solution de refroidissement au Raspberry Pi est d’utiliser un boîtier.
Consultez les liens ci-dessous pour des critiques honnêtes de nos boîtiers Raspberry Pi préférés:

Passer le contrôleur de CPU en mode performance

Le contrôleur de CPU gère le processeur de votre Raspberry Pi. Il existe plusieurs contrôleurs disponibles, et ils gèrent les choses de différentes manières. Vous pouvez vérifier quel contrôleur est utilisé sur votre système en exécutant cette commande:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

La sortie montre que les cœurs de mon CPU Pi sont configurés sur le “governor” ‘ondemand’. Ceci est un paramètre par défaut sûr, qui réduit les horloges CPU au ralenti pour économiser l’électricité, mais augmente les horloges lorsqu’une plus grande puissance de traitement est nécessaire.

Mais peut-être avez-vous un serveur intense que vous devez faire fonctionner sur les quatre cylindres à tout moment.
Pour une vitesse maximale, passez plutôt au ‘governor’ ‘performance’.

Voici comment changer le contrôleur de CPU sur un Raspberry Pi :

  • Installez l’outil cpufrequtils :
    sudo apt install cpufrequtils
  • Passez au contrôleur de performance :
    sudo cpufreq-set -g performance
  • Vérifiez si le changement a été appliqué :
    vue du gouverneur cpu raspberry pi

Le contrôleur de performance fait toujours fonctionner le CPU à pleine horloge. Le désavantage de ce paramètre est qu’il utilise plus d’électricité, et vous aurez besoin d’un refroidissement adéquat pour éviter la surchauffe.

Choisir des serveurs légers

Dans le langage informatique, un demon est un programme qui fonctionne en arrière-plan et n’a pas besoin de contrôle interactif de l’utilisateur.

Par exemple, si vous hébergez un site web, un service de chat ou une base de données sur votre Raspberry Pi, ils sont tous gérés par des serveurs demon.

Linux offre de nombreux choix, donc il y a beaucoup d’options quand il s’agit de savoir quel demon vous décidez de faire fonctionner pour les objectifs de votre serveur. Ces programmes ne sont pas tous égaux : certains sont plus simples à utiliser, d’autres sont plus complexes mais plus puissants, tandis que certains consomment plus de ressources.

Pour optimiser votre serveur Raspberry Pi pour une performance maximale, envisagez d’utiliser des demon plus légers que les plus populaires.

Par exemple, au lieu du serveur web Apache, essayez lighttpd. Au lieu de vsftpd pour un serveur FTP, j’aime utiliser le SFTP intégré avec SSH. MySQL est la base de données la plus connue, mais avez-vous essayé SQLite, qui prend moins de 1 MB après installation?

Seulement 557 Ko, impressionnant.

En passant, ces trois alternatives en particulier sont disponibles dans les dépôts par défaut de nombreuses distributions, elles sont donc assez faciles à installer :
sudo apt install lighttpd ssh sqlite3

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous comprenez l'anglais et en voulez encore plus ? Je publie une nouvelle leçon chaque mois, réservée à mes abonnés premium. Rejoignez la communauté dès maintenant pour y avoir accès !

Donner la priorité aux services du serveur

Nous avons déjà appris à désactiver les services dont nous n’avons pas besoin, mais pouvons-nous faire l’inverse et augmenter la priorité de certains ? Par exemple, pouvez-vous booster un serveur Minecraft ? La réponse est oui, et pour cela, vous devez comprendre comment fonctionne la ‘valeur nice’.

Si vous affichez la liste des processus système en format long, vous pouvez voir la ‘gentillesse’ d’un processus :
ps -el

process list nice value
(La ‘valeur nice’ est située dans la 8ème colonne.)

Plus la valeur de nice est faible, plus la priorité du processus est élevée. Une valeur de 0 a une priorité normale, mais une valeur de -20 représente la priorité la plus élevée, ce qui signifie que le système dédiera le plus de ressources pour accomplir cette tâche rapidement.

Vous pouvez donner à vos démons de serveur les plus importants une priorité système supérieure.
Pour ce faire, vous devrez déterminer son identifiant de processus (PID).
Vous pouvez l’obtenir en filtrant la liste des processus avec grep (en anglais) :

commande renice
(Le PID est trouvé dans la 4ème colonne.)

Avec le PID, vous pouvez réattribuer la valeur de nice à -20 (priorité la plus élevée) :
sudo renice -n -20 -p <PID>

Ouf, c’est chaque ajustement auquel je peux penser pour le moment ! Avec ces optimisations en place, vous aurez une machine serveur Raspberry Pi épurée et efficace. Si vous avez des conseils que vous aimeriez partager que nous avons omis ici, s’il vous plaît faites-le nous savoir dans la communauté.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *