8.2. Paramètres affectant la performance des applications de base de données
Les paramètres suivants du noyau affectent les performances des applications de base de données.
- fs.aio-max-nr
Définit le nombre maximum d'opérations d'E/S asynchrones que le système peut gérer sur le serveur.
NoteL'augmentation du paramètre
fs.aio-max-nr
n'entraîne aucune autre modification que l'augmentation de la limite aio.- fs.file-max
Définit le nombre maximum de file handles (noms de fichiers temporaires ou ID attribués aux fichiers ouverts) que le système peut prendre en charge à tout moment.
Le noyau alloue dynamiquement des gestionnaires de fichiers chaque fois qu'un gestionnaire de fichier est demandé par une application. Cependant, le noyau ne libère pas ces poignées de fichiers lorsqu'elles sont libérées par l'application. Il les recycle à la place. Cela signifie qu'au fil du temps, le nombre total de gestionnaires de fichiers alloués augmentera même si le nombre de gestionnaires de fichiers actuellement utilisés est faible.
- kernel.shmall
-
Définit le nombre total de pages de mémoire partagée pouvant être utilisées à l'échelle du système. Pour utiliser la totalité de la mémoire principale, la valeur du paramètre
kernel.shmall
doit être ≤ taille totale de la mémoire principale. - kernel.shmmax
- Définit la taille maximale en octets d'un seul segment de mémoire partagée qu'un processus Linux peut allouer dans son espace d'adressage virtuel.
- kernel.shmmni
- Définit le nombre maximum de segments de mémoire partagée que le serveur de base de données peut gérer.
- net.ipv4.ip_local_port_range
- Définit la plage de ports que le système peut utiliser pour les programmes qui souhaitent se connecter à un serveur de base de données sans numéro de port spécifique.
- net.core.rmem_default
- Définit la mémoire de la socket de réception par défaut via le protocole de contrôle de transmission (TCP).
- net.core.rmem_max
- Définit la mémoire maximale de la socket de réception via le protocole de contrôle de transmission (TCP).
- net.core.wmem_default
- Définit la mémoire de la socket d'envoi par défaut via le protocole de contrôle de transmission (TCP).
- net.core.wmem_max
- Définit la mémoire maximale de la socket d'envoi via le protocole de contrôle de transmission (TCP).
- vm.dirty_bytes / vm.dirty_ratio
-
Définit un seuil en octets / en pourcentage de mémoire salissable à partir duquel un processus générant des données salies est lancé dans la fonction
write()
.
Either vm.dirty_bytes
or vm.dirty_ratio
peuvent être spécifiés à la fois.
- vm.dirty_background_bytes / vm.dirty_background_ratio
- Définit un seuil en octets / en pourcentage de la mémoire salissable à partir duquel le noyau tente d'écrire activement les données salies sur le disque dur.
Either vm.dirty_background_bytes
or vm.dirty_background_ratio
peuvent être spécifiés à la fois.
- vm.dirty_writeback_centisecs
Définit un intervalle de temps entre les réveils périodiques des threads du noyau responsables de l'écriture des données sales sur le disque dur.
Les paramètres de ce noyau sont mesurés en centièmes de seconde.
- vm.dirty_expire_centisecs
Définit le délai après lequel les données sales sont suffisamment anciennes pour être écrites sur le disque dur.
Les paramètres de ce noyau sont mesurés en centièmes de seconde.
Ressources supplémentaires