Définissez Sysctl.conf pour améliorer les performances Linux

Sysctl est un programme qui vous permet de changer le Linux Interface système. Il contient des options avancées pour la pile TCP / IP et le système de mémoire virtuelle, qui peuvent permettre aux administrateurs expérimentés d'améliorer les performances du système. Plus de 500 variables système peuvent être lues et définies avec sysctl. Sur cette base, sysctl (8) fournit deux fonctions: lire et modifier les paramètres système.

Paramètres optimisés de référence

1. Modifiez le fichier /etc/sysctl.cnf et ajoutez le contenu suivant à la fin: net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.ip_local_port_range = 102465000 net.ipv4.route.gc_timeout = 100 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000915000000927000000 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 655362. Enregistrez et quittez, exécutez sysctl -p pour prendre effet

Afficher toutes les variables lisibles:

% sysctl -a

Lisez une variable spécifiée, telle que kern.maxproc:

% sysctl kern.maxproc kern.maxproc: 1044

Pour définir une variable spécifiée, utilisez directement la syntaxe variable = value:

# sysctl kern.maxfiles = 5000

kern.maxfiles: 2088- > 5000

Vous pouvez utiliser sysctl pour modifier les variables système ou éditer le fichier sysctl.conf pour modifier les variables système. sysctl.conf ressemble beaucoup à rc.conf. Il utilise variable = valeur pour définir la valeur. La valeur spécifiée est définie une fois que le système entre en mode multi-utilisateur. Toutes les variables ne peuvent pas être définies dans ce mode.

Les paramètres des variables sysctl sont généralement des chaînes, des nombres ou des booléens. (Le type booléen utilise 1 pour représenter «oui» et 0 pour représenter «non»).

sysctl -w kernel.sysrq = 0

sysctl -w kernel.core_uses_pid = 1

sysctl -w net.ipv4.conf.default.accept_redirects = 0

sysctl -w net.ipv4.conf.default.accept_source_route = 0

sysctl -w net.ipv4.conf.default.rp_filter = 1

sysctl -w net.ipv4.tcp_syncookies = 1

sysctl -w net.ipv4.tcp_max_syn_backlog = 2048

sysctl -w net.ipv4.tcp_fin_timeout = 30

sysctl -w net.ipv4.tcp_synack_retries = 2

sysctl -w net.ipv4.tcp_keepalive_time = 3600

sysctl -w net.ipv4.tcp_window_scaling = 1

sysctl -w net.ipv4.tcp_sack = 1

Configurer sysctl

Modifiez ce fichier:

vi /etc/sysctl.conf

Si le fichier est vide, saisissez ce qui suit, sinon veuillez faire des ajustements en fonction de la situation:

# Contrôle la vérification de l'itinéraire source

# La valeur par défaut devrait fonctionner pour toutes les interfaces

net.ipv4.conf.default.rp_filter = 1

# net.ipv4.conf.all.rp_filter = 1

# net.ipv4.conf.lo.rp_filter = 1

# net.ipv4.conf.eth0.rp_filter = 1

# Désactive le routage de la source IP

# La valeur par défaut devrait fonctionner pour toutes les interfaces

net.ipv4.conf.default.accept_source_route = 0

# net.ipv4.conf.all.accept_source_route = 0

# net.ipv4.conf.lo.accept_source_route = 0

# net.ipv4.conf.eth0.accept_source_route = 0

# Contrôle la fonctionnalité de débogage de la requête système du noyau

kernel.sysrq = 0

# Contrôle si les core dumps ajoutent le PID au nom du fichier core.

# Utile pour le débogage des applications multi-thread.

kernel.core_uses_pid = 1

# Augmente la quantité maximale de mémoire allouée à shm

# Ne commentez que si nécessaire!

# kernel.shmmax = 67108864

# Désactiver l'acceptation de la redirection ICMP

# La valeur par défaut devrait fonctionner pour toutes les interfaces

net.ipv4.conf.default.accept_redirects = 0

# net.ipv4.conf.all.accept_redirects = 0

# net.ipv4.conf.lo.accept_redirects = 0

# net.ipv4.conf.eth0.accept_redirects = 0

# Activer les paquets spoofés de journal, les paquets acheminés par la source, les paquets de redirection

# La valeur par défaut devrait fonctionner pour toutes les interfaces

net.ipv4.conf.default.log_martians = 1

# net.ipv4.conf.all.log_martians = 1

# net.ipv4.conf.lo.log_martians = 1

# net.ipv4.conf.eth0.log_martians = 1

# Diminuer la valeur par défaut de l'heure pour la connexion tcp_fin_timeout

net.ipv4.tcp_fin_timeout = 25

# Diminuer la valeur par défaut de l'heure pour la connexion tcp_keepalive_time

net.ipv4.tcp_keepalive_time = 1200

# Activez la fonction tcp_window_scaling

net.ipv4.tcp_window_scaling = 1

# Allumez le tcp_sack

net.ipv4.tcp_sack = 1

# tcp_fack devrait être activé à cause du sac

net.ipv4.tcp_fack = 1

# Activez les tcp_timestamps

net.ipv4.tcp_timestamps = 1

# Activer la protection des cookies TCP SYN

net.ipv4.tcp_syncookies = 1

# Activer la demande d'ignorance des diffusions

net.ipv4.icmp_echo_ignore_broadcasts = 1

# Activer la protection des messages d'erreur incorrects

net.ipv4.icmp_ignore_bogus_error_responses = 1

# Rendre plus de ports locaux disponibles

# net.ipv4.ip_local_port_range = 102465000

# Définissez la valeur de réorganisation TCP dans le noyau sur «5»

net.ipv4.tcp_reordering = 5

# Taux de nouvelles tentatives de synchronisation plus faibles

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 3

# Définir Max SYN Backlog sur «2048»

net.ipv4.tcp_max_syn_backlog = 2048

# Divers paramètres

net.core.netdev_max_backlog = 1024

# Augmentez le nombre maximum de skb-heads à mettre en cache

net.core.hot_list_length = 256

# Augmenter la taille du pool de buckets tcp-time-wait

net.ipv4.tcp_max_tw_buckets = 360000

# Cela augmentera la quantité de mémoire disponible pour les files d'attente d'entrée / sortie de socket

net.core.rmem_default = 65535

net.core.rmem_max = 8388608

net.ipv4.tcp_rmem = 4096873808388608

net.core.wmem_default = 65535

net.core.wmem_max = 8388608

net.ipv4.tcp_wmem = 4096655358388608

net.ipv4.tcp_mem = 838860883886088388608

net.core.optmem_max = 40960

Si vous souhaitez empêcher les autres d'envoyer une requête ping à votre hôte, ajoutez le code suivant:

# Désactiver les requêtes ping

net.ipv4.icmp_echo_ignore_all = 1

Après l'édition, veuillez exécuter la commande suivante pour que les modifications prennent effet immédiatement:

/ sbin / sysctl -p

/ sbin / sysctl -w net.ipv4.route.flush = 1

Pas fatigué de regarder des photos

##################

Toutes les options liées à rfc sont activées par défaut, donc celles sur Internet qui ont écrit le support rfc par elles-mêmes peuvent être jetées :)

#############################

net.inet.ip.sourceroute = 0

net.inet.ip.accept_sourceroute = 0

###########################

Grâce au routage source, un attaquant peut essayer d'atteindre l'adresse IP interne, y compris l'adresse dans RFC1918, donc

Ne pas accepter les paquets de routage source peut empêcher votre réseau interne d'être sondé.

###############################

net.inet.tcp.drop_synfin = 1

################################

Les paramètres de sécurité ne peuvent être utilisés que lorsque les options TCP_DROP_SYNFIN sont ajoutées lors de la compilation du noyau, ce qui peut empêcher la détection de certaines OS.

###############################

kern.maxvnodes = 8446

################# http: //www.bsdlover.cn#########

vnode est une expression interne d'un fichier ou d'un répertoire. Par conséquent, l'augmentation du nombre de nuds virtuels pouvant être utilisés par le système d'exploitation réduira les E / S disque.

D'une manière générale, cela est fait par le système d'exploitation lui-même et n'a pas besoin d'être modifié. Mais à un moment donné, les E / S disque deviendront un goulot d'étranglement,

Si le vnode du système est insuffisant, cette configuration doit être augmentée. À ce stade, vous devez tenir compte de la quantité de mémoire inactive et libre.

Pour afficher le nombre de vnodes actuellement utilisés:

# sysctl vfs.numvnodes

vfs.numvnodes: 91349

Pour afficher le nombre maximum de vnodes disponibles:

# sysctl kern.maxvnodes

kern.maxvnodes: 100000

Si l'utilisation actuelle de vnode est proche du maximum, il peut être judicieux d'augmenter la valeur kern.maxvnodes de 1000.

Vous devriez continuer à vérifier la valeur de vfs.numvnodes, si elle remonte près de la valeur maximale,

Encore faut-il continuer à améliorer kern.maxvnodes. L'utilisation de la mémoire indiquée dans top (1) devrait changer de manière significative,

Plus de mémoire sera active (active).

################################

kern.maxproc: 964

################# http: //www.bsdlover.cn#########

Nombre maximum de processus

################################

kern.maxprocperuid: 867

################# http: //www.bsdlover.cn#########

Processus maximum autorisés par ID utilisateur

################################

Comme mon maxusers est défini sur 256, 20 + 16 * maxusers = 4116.

maxprocperuid est inférieur d'au moins 1 à maxproc, car le programme système init (8) doit être maintenu en fonctionnement.

Je l'ai mis à 2068.

kern.maxfiles: 1928

################# http: //www.bsdlover.cn#########

Le système prend en charge le nombre maximal de fichiers qui peuvent être ouverts en même temps. Si vous exécutez une base de données ou un processus volumineux qui consomme des descripteurs, vous devez le définir au-dessus de 20000.

Par exemple, un environnement de bureau comme kde utilise un grand nombre de fichiers en même temps.

Le paramètre généralement recommandé est 32768 ou 65536.

################################

kern.argmax: 262144

################# http: //www.bsdlover.cn#########

nombre maximum d'octets (ou de caractères) dans une liste d'arguments.

Les paramètres les plus pris en charge sous la ligne de commande, par exemple lorsque vous utilisez la commande find pour supprimer certains fichiers par lots

find. -name "* .old" -delete, si le nombre de fichiers dépasse ce nombre, vous serez averti qu'il y a trop de nombres.

Vous pouvez utiliser find. -Name "* .old" -ok rm {} \; pour supprimer.

Les paramètres par défaut suffisent, il n'est donc pas recommandé de les modifier.

################################

kern.securelevel: -1

################# http: //www.bsdlover.cn#########

-1: il s'agit du niveau par défaut du système et ne fournit aucune erreur de protection du noyau;

0: Fondamentalement, cela n'a pas beaucoup d'effet.Lorsque votre système est démarré, il sera au niveau 0. En entrant en mode multi-utilisateurs, il passera automatiquement au niveau 1.

1: À ce niveau, il existe les restrictions suivantes:

a. Les modules de noyau chargeables ne peuvent pas être chargés ou déchargés via kldload ou kldunload;

b. Les applications ne peuvent pas directement écrire la mémoire via / dev / mem ou / dev / kmem;

c. Vous ne pouvez pas écrire directement sur le disque monté, c'est-à-dire que vous ne pouvez pas formater le disque, mais vous pouvez effectuer des opérations d'écriture via l'interface standard du noyau;

d. X-windows ne peut pas être démarré et les chflags ne peuvent pas être utilisés pour modifier les attributs de fichier;

2: Sur la base du niveau 1, il n'est pas possible d'écrire sur des disques non montés et plusieurs avertissements ne peuvent pas être générés en 1 seconde, ceci pour empêcher la console DoS;

3: Il n'est pas permis de modifier les règles du pare-feu IPFW au niveau 2.

Si vous avez déjà installé un pare-feu et défini les règles pour qu'il ne soit pas facile de le modifier, il est recommandé d'utiliser le niveau 3. Si vous n'avez pas de pare-feu et que vous prévoyez d'installer un pare-feu, cela n'est pas recommandé.

Nous vous recommandons d'utiliser le niveau 2 ici pour éviter de nombreuses paires d'attaques du noyau.

################################

kern.maxfilesperproc: 1735

################# http: //www.bsdlover.cn#########

Le nombre maximum de fichiers que chaque processus peut ouvrir en même temps, de nombreuses informations sur Internet écrivent 32768

À moins que vous n'utilisiez des E / S asynchrones ou un grand nombre de threads, ouvrir autant de fichiers n'est probablement pas normal.

Je suggère personnellement de ne pas apporter de modifications et de conserver la valeur par défaut.

################################

kern.ipc.maxsockbuf: 262144

################# http: //www.bsdlover.cn#########

Il est recommandé de définir le tampon de socket le plus grand sur 2097152 (2M) et 8388608 (8M) sur Internet.

Je suggère personnellement de ne pas le modifier et de conserver la valeur par défaut de 256 Ko. Un grand tampon peut provoquer une fragmentation, un blocage ou une perte de paquets.

################################

kern.ipc.somaxconn: 128

################# http: //www.bsdlover.cn#########

Taille maximale de la file d'attente de socket en attente de la connexion, c'est-à-dire le nombre de connexions simultanées.

Les serveurs et les systèmes à forte charge soumis à des attaques Dos peuvent ne pas fournir de services normaux car la file d'attente est pleine.

La valeur par défaut est 128 et il est recommandé d'être comprise entre 1024 et 4096, ce qui doit être modifié en fonction de la machine et des conditions réelles. Plus le nombre est élevé, plus la mémoire occupée est grande.

################################

kern.ipc.nmbclusters: 4800

################# http: //www.bsdlover.cn#########

Cette valeur est utilisée pour ajuster le nombre de clusters à allouer aux mbufs du réseau après la mise sous tension du système.

Étant donné que la taille de chaque cluster est de 2 Ko, lorsque cette valeur est de 1024, 2 Mo d'espace mémoire principal sont également utilisés.

En supposant que notre page Web dispose d'environ 1000 connexions en même temps et que la taille de la zone de stockage temporaire pour la transmission et la réception TCP est de 16K,

Dans le pire des cas, nous aurons besoin de (16K + 16K) * 1024, soit 32 Mo d'espace,

Cependant, les mbufs requis représentent environ le double de cet espace, qui est de 64 Mo, donc le nombre requis de clusters est de 64 Mo / 2K, soit 32768.

Pour les machines avec une mémoire limitée, la valeur recommandée est comprise entre 1024 et 4096, et lorsqu'il y a une grande quantité d'espace mémoire, nous pouvons la définir entre 4096 et 32768.

Nous pouvons utiliser la commande netstat et ajouter le paramètre -m pour afficher le nombre de mbufs actuellement utilisés.

Si vous souhaitez modifier cette valeur, vous devez la modifier dès le démarrage, vous ne pouvez donc ajouter les paramètres modifiés que dans /boot/loader.conf

kern.ipc.nmbclusters = 32768

################################

kern.ipc.shmmax: 33554432

################# http: //www.bsdlover.cn#########

Mémoire partagée et sémaphore ("System VIPC") Si ceux-ci sont trop petits, certains logiciels volumineux ne démarreront pas

Le paramètre d'invite pour installer xine et mplayer est 67108864, soit 64M,

S'il y a plus de mémoire, elle peut être définie sur 134217728, soit 128 Mo

################################

kern.ipc.shmall: 8192

################# http: //www.bsdlover.cn#########

Mémoire partagée et sémaphore ("System VIPC") Si ceux-ci sont trop petits, certains logiciels volumineux ne démarreront pas

L'invite d'installation de xine et mplayer est définie sur 32768

################################

kern.ipc.shm_use_phys: 0

################# http: //www.bsdlover.cn#########

Si nous le définissons sur 1, toute la mémoire partagée System V (mémoire partagée, moyen de communication entre programmes) sera laissée dans la mémoire physique.

Il ne sera pas placé dans l'espace d'échange sur le disque dur. On sait que la vitesse d'accès de la mémoire physique est bien plus rapide que celle du disque dur, et lorsque l'espace mémoire physique est insuffisant,

Une partie des données sera placée sur la mémoire virtuelle et le mouvement entre la mémoire physique et la mémoire virtuelle est appelé swap. Si vous faites souvent des actions d'échange,

Vous devez continuer à effectuer des E / S sur le disque dur et la vitesse sera très lente. Par conséquent, si nous avons un grand nombre de programmes (des centaines) qui doivent partager un petit espace de mémoire partagée,

Ou lorsque l'espace mémoire partagé est important, nous pouvons activer cette valeur.

Pour cet article, je suggère personnellement de ne pas le modifier à moins que votre mémoire ne soit très grande.

################################

kern.ipc.shm_allow_removed: 0

################# http: //www.bsdlover.cn#########

La mémoire partagée est-elle autorisée à être supprimée? Cela semble être défini sur 1 lors de l'installation de vmware sous fb, sinon il y aura un message d'erreur lors du chargement de SVGA

En tant que serveur, cela n'a pas d'importance.

################################

kern.ipc.numopensockets: 12

################# http: //www.bsdlover.cn#########

Le nombre de sockets ouverts peut être vérifié au moment le plus chargé, puis vous pouvez savoir à quel point maxsockets doit être défini.

################################

kern.ipc.maxsockets: 1928

################# http: //www.bsdlover.cn#########

Ceci est utilisé pour définir le nombre maximum de sockets que le système peut ouvrir. Si votre serveur fournit de nombreux services FTP,

Et souvent, transférez rapidement certains petits fichiers, vous constaterez peut-être que le transfert est souvent interrompu de moitié. Parce que lorsque FTP transfère des fichiers,

Chaque fichier doit ouvrir une prise pour la transmission, mais la fermeture de la prise prend un certain temps. Si la vitesse de transmission est rapide,

Avec trop de fichiers, les sockets ouverts en même temps dépasseront la valeur autorisée par le système d'origine. À ce stade, nous devons augmenter cette valeur.

Outre FTP, d'autres programmes réseau peuvent également rencontrer ce problème.

Cependant, cette valeur doit être définie dès que le système est démarré, donc si nous voulons modifier ce paramètre, nous devons modifier /boot/loader.conf

kern.ipc.maxsockets = "16424"

################################

kern.ipc.nsfbufs: 1456

################# http: //www.bsdlover.cn#########

Un serveur occupé qui utilise souvent l'appel système sendfile (2),

Il est nécessaire d'ajuster le nombre de tampons sendfile (2) via l'option du noyau NSFBUFS ou en définissant sa valeur dans /boot/loader.conf (voir loader (8) pour plus de détails).

La raison courante pour laquelle ce paramètre doit être ajusté est de voir l'état de sfbufa dans le processus. La variable sysctl kern.ipc.nsfbufs est en lecture seule dans les variables de configuration du noyau.

Ce paramètre est déterminé par kern.maxusers, mais il peut être nécessaire de l'ajuster en conséquence.

Ajouter dans /boot/loader.conf

kern.ipc.nsfbufs = "2496"

################################

kern.maxusers: 59

################# http: //www.bsdlover.cn#########

La valeur de maxusers détermine le programme de traitement maximum autorisé, et 20 + 16 * maxusers est le programme de traitement autorisé que vous obtiendrez.

Lorsque le système est allumé, il doit y avoir 18 processus (processus), même une simple commande man générera 9 processus,

Donc, définir cette valeur sur 64 devrait être un nombre raisonnable.

Si le message de la table proc pleine apparaît sur votre système, vous pouvez le définir sur une valeur plus grande, telle que 128.

À moins que votre système n'ait besoin d'ouvrir plusieurs fichiers en même temps, veuillez ne pas en définir plus de 256.

Vous pouvez ajouter ce paramètre d'option dans /boot/loader.conf,

kern.maxusers = 256

################################

kern.coredump: 1

################# http: //www.bsdlover.cn#########

S'il est défini sur 0, le fichier de base ne sera pas généré lorsque le programme se termine anormalement. En tant que serveur, cela n'est pas recommandé.

################################

kern.corefile:% N.core

################# http: //www.bsdlover.cn#########

Peut être défini sur kern.corefile = "/ data / coredump /% U-% P-% N.core"

Parmi eux,% U est l'UID,% P est l'ID du processus,% N est le nom du processus, bien sûr / data / coredump doit être un répertoire réel

Pas fatigué de regarder des photos

################################

vm.swap_idle_enabled: 0

vm.swap_idle_threshold1: 2

vm.swap_idle_threshold2: 10

#######################

Il est utile dans les grands systèmes multi-utilisateurs avec de nombreux utilisateurs entrant et sortant du système et de nombreux processus inactifs.

Peut accélérer le processus pour entrer dans la mémoire, mais il consommera plus de swap et de bande passante disque.

L'algorithme de pagination par défaut du système est déjà très bon, il vaut mieux ne pas le changer.

######################

vfs.ufs.dirhash_maxmem: 2097152

#######################

La mémoire maximale par défaut de dirhash, par défaut 2M

Son ajout permet d'améliorer les performances de lecture répétée de répertoires lorsqu'un seul répertoire dépasse 100K fichiers

Il est recommandé de modifier en 33554432 (32M)

###########################

vfs.vmiodirenable: 1

#################

Cette variable contrôle si le répertoire est mis en cache par le système. La plupart des répertoires sont petits, n'utilisant qu'un seul fragment dans le système (généralement 1 Ko) et plus petits dans le cache (généralement 512 octets).

Lorsque cette variable est définie sur off (0), le cache ne met en cache qu'un nombre fixe de répertoires, même si vous disposez de beaucoup de mémoire.

Lorsqu'il est activé (défini sur 1), le cache est autorisé à utiliser le cache de page de la VM pour mettre en cache ces répertoires, ce qui permet à toute la mémoire disponible de mettre en cache les répertoires.

L'inconvénient est que la mémoire centrale minimale utilisée pour mettre en cache les répertoires est une taille de page physique supérieure à 512 octets (généralement 4 Ko).

Nous vous recommandons que si vous exécutez un programme qui manipule un grand nombre de fichiers, gardez cette option activée par défaut.

Ces services comprennent la mise en cache Web, les systèmes de messagerie de grande capacité et les systèmes de nouvelles.

Bien qu'une certaine quantité de mémoire puisse être gaspillée, l'activation de cette option ne dégrade généralement pas les performances. Mais cela devrait être vérifié.

###################

vfs.hirunningspace: 1048576

##########################

Cette valeur détermine la quantité de données que le système peut mettre dans la zone d'attente du périphérique de stockage en écriture. Utilisez généralement la valeur par défaut,

Mais lorsque nous avons plusieurs disques durs, nous pouvons l'augmenter à 4 Mo ou 5 Mo.

Notez que la définition de cette valeur sur une valeur très élevée (dépassant la limite d'écriture du tampon) entraînera de mauvaises performances.

Ne le mettez pas aveuglément trop haut! Des valeurs élevées entraîneront des retards dans les opérations de lecture simultanées.

###########################

vfs.write_behind: 1

#######################

Cette option est préréglée sur 1, qui est l'état ouvert. Lors de l'ouverture, lorsque le système a besoin d'écrire des données sur le disque dur ou d'autres périphériques de stockage,

Il attendra que les données d'une unité de cluster soient collectées, puis les réécrira, sinon il écrira immédiatement sur le disque dur lorsqu'il y aura une demande d'écriture pour une zone de stockage temporaire.

Lorsque cette option est activée, elle est très utile pour une grande vitesse d'écriture continue des fichiers. Mais si vous rencontrez beaucoup de retards dans l'attente de l'action d'écriture, vous devrez peut-être désactiver cette fonctionnalité.

##########################

net.local.stream.sendspace: 8192

###############################

Espace d'envoi de données pour la connexion au socket local

Le paramètre recommandé est 65536

################################

net.local.stream.recvspace: 8192

###############################

Espace de réception de données pour la connexion au socket local

Le paramètre recommandé est 65536

################################

net.inet.ip.portrange.lowfirst: 1023

net.inet.ip.portrange.lowlast: 600

net.inet.ip.portrange.first: 49152

net.inet.ip.portrange.last: 65535

net.inet.ip.portrange.hifirst: 49152

net.inet.ip.portrange.hilast: 65535

##################

Les six éléments ci-dessus permettent de contrôler la plage de ports utilisée par TCP et UDP. Cette plage est divisée en trois parties, plage basse, plage prédéfinie et plage haute.

Il s'agit des plages de ports temporaires lorsque votre serveur établit une connexion. Le préréglage est supérieur à 10000 et les applications générales suffisent.

S'il s'agit d'un serveur FTP occupé, il n'est généralement pas disponible pour plus de 10000 personnes en même temps.

Bien sûr, si malheureusement, votre serveur doit fournir beaucoup, vous pouvez modifier la valeur de first, par exemple en commençant directement par 1024

#######################

net.inet.ip.redirect: 1

#######################

Défini sur 0, fonction de redirection IP de protection

#########################

net.inet.ip.rtexpire: 3600

net.inet.ip.rtminexpire: 10

######################

Nombreux états CLOSE_WAIT générés par apache. Cet état attend la fermeture du client, mais le client n'est pas fermé normalement, il reste donc beaucoup de choses comme celle-ci.

Les suggestions sont révisées à 2

#######################

net.inet.ip.intr_queue_maxlen: 50

######################

Taille maximale de la file d'attente d'entrée IP, si les net.inet.ip.intr_queue_drops suivants continuent d'augmenter,

Cela signifie que votre espace de file d'attente est insuffisant, vous pouvez donc envisager d'augmenter la valeur.

########################

net.inet.ip.intr_queue_drops: 0

###################

Nombre de paquets supprimés de la file d'attente d'entrée IP, si vous sysctl il continue d'augmenter,

Augmentez ensuite la valeur de net.inet.ip.intr_queue_maxlen.

######################

net.inet.ip.fastforwarding: 0

###########################

S'il est activé, une fois que chaque adresse de destination a été transmise avec succès une fois, ses données seront enregistrées dans la table de routage et la table de données arp, économisant ainsi le temps de calcul du routage

Mais il faudra beaucoup d'espace mémoire du noyau pour enregistrer la table de routage.

Si la mémoire est assez grande, ouvrez-la, ha ha

###########################

net.inet.ip.random_id: 0

####################

Par défaut, les numéros d'identification des paquets ip sont consécutifs, et ceux-ci peuvent être utilisés par des attaquants, par exemple, vous pouvez savoir combien d'hôtes vous avez derrière le nat.

S'il est défini sur 1, le numéro d'identification est aléatoire, hehe.

####################

net.inet.icmp.maskrepl: 0

##########################

Pour éviter les tempêtes de diffusion, désactivez les autres réponses de détection de diffusion. La valeur par défaut est, pas besoin de modifier.

#############################

net.inet.icmp.icmplim: 200

############################

Limitez le débit ICMP envoyé par le système, modifiez-le à 100 ou conservez-le, et cela n'apportera pas trop de pression au système.

#########################

net.inet.icmp.icmplim_output: 1

################################

S'il est défini sur 0, vous ne verrez pas l'invite indiquant Limiter la réponse icmp Uneach de 214 à 200 paquets par seconde, etc.

Cependant, l'interdiction de la sortie nous fait oublier l'existence d'une attaque. Faites-le par vous-même.

##################################

net.inet.icmp.drop_redirect: 0

net.inet.icmp.log_redirect: 0

################################

Défini sur 1, fonction de redirection ICMP

################################

net.inet.icmp.bmcastecho: 0

##########################

Pour éviter les tempêtes de diffusion, désactivez la réponse d'écho de diffusion, qui est la valeur par défaut et aucune modification n'est requise.

#############################

net.inet.tcp.mssdflt: 512

net.inet.tcp.minmss: 216

#############################

La valeur minimale du segment de données par paquets, les deux options ci-dessus sont mieux laissées inchangées! Ou modifiez simplement mssdflt en 1460, et minmss ne bouge pas.

Pour plus de détails, voir

###########################

net.inet.tcp.keepidle: 7200000

#####################

Le temps d'inactivité des sockets TCP, le temps par défaut est trop long, peut être changé en 600000 (10 minutes).

########################

net.inet.tcp.sendspace: 32768

################# http: //www.bsdlover.cn#########

Le plus grand espace de tampon de données TCP à envoyer Le programme d'application place les données ici et considère que la transmission est réussie et la pile TCP du système garantit la transmission normale des données.

################################

net.inet.tcp.recvspace: 65536

################################

Le plus grand espace de mémoire tampon TCP de réception, à partir duquel le système distribue les données à différentes sockets, l'augmentation de cet espace peut améliorer la capacité du système à recevoir des données instantanément pour améliorer les performances.

################################

Ces deux options contrôlent respectivement la taille de la zone de stockage temporaire d'émission et de réception utilisée par la connexion réseau TCP. La zone de stockage temporaire de transmission par défaut est de 32 Ko et la zone de stockage temporaire de réception est de 64 Ko.

Si vous avez besoin d'accélérer la transmission TCP, vous pouvez augmenter ces deux valeurs, mais l'inconvénient est qu'une valeur trop élevée entraînera une occupation excessive de mémoire par le cur du système.

Si notre machine sert des centaines ou des milliers de connexions réseau en même temps, ces deux options sont les meilleures pour conserver les valeurs par défaut, sinon cela entraînera une mémoire centrale insuffisante du système.

Mais si nous utilisons un réseau gigabite, l'ajustement de ces deux valeurs améliorera considérablement les performances.

La taille de la zone de stockage temporaire pour l'envoi et la réception peut être ajustée séparément,

Par exemple, si notre système est principalement utilisé comme serveur Web, nous pouvons réduire la zone de stockage temporaire de réception et la zone de stockage temporaire transmise plus grande. De cette manière, nous pouvons éviter de prendre trop d'espace mémoire central .

net.inet.udp.maxdgram: 9216

#######################

La plus grande taille de tampon de données UDP d'envoi, la plupart des informations sur Internet sont de 65536, je pense personnellement que ce n'est pas nécessaire,

Si vous souhaitez ajuster, vous pouvez essayer 24576.

############################

net.inet.udp.recvspace: 42080

#################

La plus grande taille de tampon UDP de réception, la plupart des informations sur Internet sont de 65536, je pense personnellement que ce n'est pas nécessaire,

Si vous souhaitez régler, vous pouvez essayer 49152.

######################

Les quatre configurations ci-dessus ne posent généralement pas de problèmes. De manière générale, le trafic réseau est asymétrique, vous devez donc l'ajuster en fonction de la situation réelle et observer son effet.

Si nous définissons la zone de stockage temporaire transmise ou reçue supérieure à 65535, à moins que le serveur lui-même et le système d'exploitation utilisé par le client ne prennent en charge l'extension de mise à l'échelle Windows du protocole TCP (veuillez vous référer au document RFC 1323).

FreeBSD prend déjà en charge rfs1323 (l'option net.inet.tcp.rfc1323 de sysctl) par défaut.

########################################### #

net.inet.tcp.log_in_vain: 0

#################

Enregistrez les connexions TCP, cela ne doit pas être modifié dans des circonstances normales.

###################

net.inet.tcp.blackhole: 0

###############################

Il est recommandé de le mettre à 2, pour recevoir tous les paquets d'un port fermé, déposer directement, s'il est mis à 1, c'est uniquement pour les paquets TCP

#################################

net.inet.tcp.delayed_ack: 1

#########################

Lorsqu'un ordinateur lance une demande de connexion TCP, le système répond avec un paquet de réponse ACK.

Cette option définit s'il faut retarder le paquet de réponse ACK et l'envoyer avec le paquet contenant les données.

Dans le cas d'un réseau haut débit et d'une faible charge, les performances seront légèrement améliorées, mais lorsque la connexion réseau est mauvaise,

Si l'ordinateur de l'autre partie n'obtient pas de réponse, il continuera à lancer des demandes de connexion, ce qui rendra le réseau plus encombré et réduira les performances.

Par conséquent, cette valeur, je suggère que vous dépendez de la situation. Si votre vitesse Internet n'est pas un problème, vous pouvez réduire le nombre de paquets de moitié

Si le réseau n'est pas particulièrement bon, réglez-le sur 0 et répondez d'abord s'il y a une demande. De cette façon, le débit de bande passante de Netcom et Telecom est en fait gaspillé au lieu de votre temps de traitement :)

##########################

net.inet.tcp.inflight.enable: 1

net.inet.tcp.inflight.debug: 0

net.inet.tcp.inflight.rttthresh: 10

net.inet.tcp.inflight.min: 6144

net.inet.tcp.inflight.max: 1073725440

net.inet.tcp.inflight.stab: 20

#########################

La limitation du produit de délai de bande passante TCP est similaire à TCP / Vegas de NetBSD.

Il peut être activé en définissant la variable sysctl net.inet.tcp.inflight.enable sur 1.

Le système essaiera de calculer le produit du délai de bande passante de chaque connexion et limitera la quantité de données mises en file d'attente à un niveau qui peut simplement maintenir le débit optimal.

Cette fonctionnalité est particulièrement importante lorsque votre serveur utilise des modems ordinaires, du Gigabit Ethernet ou même des connexions optiques et réseau plus rapides (ou d'autres connexions avec des délais de bande passante importants).

Surtout lorsque vous utilisez la fenêtre coulissante pour zoomer en même temps, ou utilisez une grande fenêtre d'envoi.

Si cette option est activée, vous devez également définir net.inet.tcp.inflight.debug sur 0 (désactiver le débogage),

Pour l'environnement de production, définir net.inet.tcp.inflight.min sur au moins 6144 est avantageux.

Cependant, il convient de noter que définir cette valeur trop élevée équivaut en fait à désactiver la fonction de limitation du produit de délai de bande passante de connexion.

Cette fonction de restriction réduit la quantité de données bloquées dans les files d'attente de paquets de routage et de commutation et réduit également la quantité de données bloquées dans la file d'attente de l'interface hôte locale.

Dans un petit nombre de files d'attente, les connexions interactives, en particulier via des modems lents, peuvent également fonctionner avec des temps d'aller-retour réduits.

Cependant, notez que cela n'affecte que l'envoi des données (téléchargement / serveur). Il n'a aucun effet sur la réception des données (téléchargement).

Il n'est pas recommandé d'ajuster net.inet.tcp.inflight.stab.

La valeur par défaut de ce paramètre est 20, ce qui signifie que les deux plus gros paquets sont ajoutés au calcul de la fenêtre de produit de délai de bande passante.

L'algorithme supplémentaire en forme de fenêtre est plus stable et améliore la capacité de répondre aux changements d'environnements réseau.

Mais cela augmentera également le temps de ping avec une connexion lente (même s'il sera toujours beaucoup plus bas que si l'algorithme en vol n'est pas utilisé).

Dans ces situations, vous souhaiterez peut-être réduire ce paramètre à 15, 10 ou 5;

Et peut donc avoir à réduire net.inet.tcp.inflight.min (par exemple, 3500) pour obtenir l'effet souhaité.

La réduction des valeurs de ces paramètres ne doit être utilisée qu'en dernier recours.

##########################

net.inet.tcp.syncookies: 1

#######################

Les cookies SYN sont une technologie utilisée pour réduire l'impact des attaques SYN'flood 'en sélectionnant des numéros de séquence TCP initiaux cryptés pour vérifier les paquets de réponse.

La valeur par défaut est, pas besoin de modifier

######################

net.inet.tcp.msl: 30000

######################

Cette valeur est de 7500 recommandée par de nombreux articles sur Internet,

Il peut également être modifié plus petit (par exemple 2000 ou 2500), ce qui peut accélérer le processus de libération des connexions anormales (trois handshake 2 secondes, FIN_WAIT 4 secondes).

#######################

net.inet.tcp.always_keepalive: 1

#########################

Il aide le système à effacer les connexions TCP qui ne sont normalement pas déconnectées, ce qui augmente l'utilisation d'une certaine bande passante réseau, mais certaines connexions mortes peuvent éventuellement être identifiées et effacées.

Les connexions TCP mortes sont un problème particulier pour les systèmes auxquels accèdent les utilisateurs d'accès à distance, car les utilisateurs déconnectent souvent les modems et ferment de manière incorrecte les connexions actives.

###########################

net.inet.udp.checksum: 1

#######################

Empêche l'attaque d'un package udp incorrect, qui est la valeur par défaut, pas besoin de modifier

############################

net.inet.udp.log_in_vain: 0

######################

Enregistrez les connexions UDP, cela ne doit pas être modifié dans des circonstances normales.

######################

net.inet.udp.blackhole: 0

###################

Il est recommandé de le définir sur 1. Tous les paquets UDP envoyés depuis un port fermé seront directement abandonnés

######################

net.inet.raw.maxdgram: 8192

#######################

Taille maximale du datagramme IP brut sortant

De nombreux articles suggèrent de régler sur 65536, ce qui semble inutile.

Pas fatigué de regarder des photos

##################################

net.inet.raw.recvspace: 8192

#####################

Taille maximale du datagramme IP brut entrant

De nombreux articles suggèrent de régler sur 65536, ce qui semble inutile.

######################

net.link.ether.inet.max_age: 1200

###################

Ajuster le temps de nettoyage ARP, remplir la mémoire tampon de routage IP avec des entrées ARP falsifiées peut permettre aux utilisateurs malveillants de provoquer l'épuisement des ressources et des attaques de réduction des performances.

Cet élément semble inchangé par tout le monde, je suggère de ne pas le changer ou de le réduire légèrement, par exemple 300 (HP-UX par défaut 5 minutes)

######################

net.inet6.ip6.redirect: 1

#############################

Défini sur 0 pour bloquer la fonction de redirection ipv6

#########################

net.isr.direct: 0

################# http: //www.bsdlover.cn#########

Tous les ISR du réseau MPSAFE répondent immédiatement au paquet pour améliorer les performances de la carte réseau, réglé sur 1.

################################

hw.ata.wc: 1

####################

Cette option est utilisée pour ouvrir le cache du disque dur IDE. Lorsqu'il est activé, s'il y a des données à écrire sur le disque dur, le disque dur fera semblant que l'écriture est terminée et les données seront mises en cache.

Cette approche accélérera la vitesse d'accès du disque dur, mais lorsque le système s'arrête anormalement, il est plus facile de provoquer une perte de données.

Cependant, comme la différence de vitesse induite par la désactivation de cette fonction est trop importante, il est recommandé de conserver l'état ouvert d'origine sans modification.

##################

security.bsd.see_other_uids: 1

security.bsd.see_other_gids: 1

####################

Les utilisateurs ne sont pas autorisés à voir les processus des autres utilisateurs, il doit donc être remplacé par 0,

######################

Si vous ne comprenez pas, veuillez l'aimer. Les paramètres peuvent être conservés pour de futures recherches et optimisations. Le plus utile est le paramètre de référence supérieur ~~

C'est le plus foutaises que j'ai jamais vu, film « ou vérité »
Précédent
Les billets pour le calendrier officiel! Fête du Printemps prêt à acheter des billets de train que vous avez aux favoris
Prochain
Dernière première! vie de la batterie de test iPhone X, temps de charge Amis de l'abus de fin tragique!
veuve noire se Super Saiyan, le film de science-fiction fraîche peut aussi faire plier les gens l'héroïne
Janvier l'année prochaine, ces types de cas, payer moins d'impôt
Commentaires marketing: armée Wei de « Wei », pour WEY avait une aide?
Comic Appréciation: Noyau Linux long sciées à la fin?
Le plus téléphone appareil photo parfait: environ 20 millions de paires de photo ultra-clair, mort terrible!
En fin de preuve phare de sécurité! V10 gloire Huawei, écran noyau en interne +, à partir du 5 Décembre à Londres!
Ce film étranger antigouvernementale, satire mordante, mais il est encore difficile d'être si bien au-delà
tomcat clusters pour réaliser le partage gagnant et la session
patron Ulanhot mis sans relâche: je reçois 100 millions d'achat vous et votre famille
Regardez idiot! L'initiative d'Apple pour les utilisateurs iPhone envahisse, mais pour leurs amis à jouer de fou
Corée du Sud et la transe complète! Ce suspense variété Escape Room, je ris huit muscles abdominaux sont hors