Maison  >  Article  >  Opération et maintenance  >  Meilleures pratiques : Guide de réglage des performances pour la création d'un serveur Web sur CentOS

Meilleures pratiques : Guide de réglage des performances pour la création d'un serveur Web sur CentOS

王林
王林original
2023-08-04 12:17:041338parcourir

Bonnes pratiques : Guide de réglage des performances pour la création de serveurs Web sur CentOS

Résumé : Cet article vise à fournir quelques bonnes pratiques de réglage des performances pour les utilisateurs créant des serveurs Web sur CentOS, dans le but d'améliorer les performances et la vitesse de réponse du serveur. Certains paramètres de réglage clés et méthodes d'optimisation couramment utilisées seront présentés, et quelques exemples de codes seront fournis pour aider les lecteurs à mieux comprendre et appliquer ces méthodes.

1. Désactivez les services inutiles

Lors de la création d'un serveur Web sur CentOS, certains services inutiles seront démarrés par défaut. Ces services occuperont des ressources système et n'amélioreront pas de manière significative les performances du serveur Web. Par conséquent, nous devrions fermer ces services inutiles pour libérer des ressources.

Utilisez la commande suivante pour lister les services en cours d'exécution :

systemctl list-units --type=service --state=running

Choisissez de fermer les services inutiles en fonction de la situation réelle, par exemple en désactivant le service de messagerie :

systemctl stop postfix
systemctl disable postfix

2. Ajustez les paramètres du noyau

L'optimisation des paramètres du noyau est une étape importante pour améliorer les performances du serveur. Les paramètres du noyau peuvent être ajustés en modifiant le fichier /etc/sysctl.conf. Voici quelques solutions de réglage des paramètres du noyau couramment utilisées : /etc/sysctl.conf文件来调整内核参数。以下是一些常用的内核参数调优方案:

  1. 提高文件句柄数限制
# 增加系统最大文件句柄数
fs.file-max = 65535

# 增加每个进程可以打开的文件句柄数限制
ulimit -n 65535
  1. 提高TCP连接数限制
# 增加系统的最大并发TCP连接数
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 1024
net.core.somaxconn = 65535
  1. 消除群聊分片
# 消除群聊分片
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_dsack = 0
  1. 提高系统TCP缓冲区大小
# 提高TCP接收窗口缓冲区大小(单位:字节)
net.ipv4.tcp_rmem = 4096 87380 4194304

# 提高TCP发送窗口缓冲区大小(单位:字节)
net.ipv4.tcp_wmem = 4096 16384 4194304

# 提高系统的TCP连接跟踪表的大小
net.netfilter.nf_conntrack_max = 65536

修改完上述参数后,使用以下命令使其生效:

sysctl -p

三、使用高性能的web服务器

选择合适的web服务器也对性能有着重要的影响。在CentOS上,Nginx和Apache是比较常用的web服务器。

  1. Nginx

Nginx是一个高性能的HTTP和反向代理服务器,它使用异步非阻塞的事件驱动架构,可以轻松处理大流量的请求。

安装Nginx:

yum install nginx

配置Nginx:

编辑/etc/nginx/nginx.conf文件:

user www-data;
worker_processes auto;
worker_cpu_affinity auto;

events {
    worker_connections 1024;
    use epoll;
    multi_accept on;
}

http {
    # 配置HTTP服务器
    ...
}
  1. Apache

Apache是一个功能丰富且广泛使用的web服务器,虽然性能上稍逊于Nginx,但在某些特定的场景下仍然可以提供良好的性能。

安装Apache:

yum install httpd

配置Apache:

编辑/etc/httpd/conf/httpd.conf文件:

ServerLimit 2048
MaxClients 2048

四、使用缓存加速

使用缓存技术可以有效地提升web服务器的性能。可以使用如下两种方式进行缓存加速:

  1. HTTP缓存

通过设置合适的Cache-ControlExpires响应头,让客户端缓存静态资源,减少服务器的负载,提升用户的访问体验。示例代码如下:

location /static {
    expires 7d;
}
  1. 反向代理缓存

使用反向代理缓存来缓存动态内容,减少对后端服务器的请求。可以使用Nginx的proxy_cache

Augmentez la limite du nombre de descripteurs de fichiers

proxy_cache_path /var/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
server {
    ...
    location / {
        proxy_cache my_cache;
        proxy_cache_valid 200 301 302 5m;
        proxy_pass http://backend;
    }
}

    Augmentez la limite du nombre de connexions TCP

    rrreee
        Éliminer les groupes Discuter sur le sharding
      1. rrreee
        1. Augmenter la taille du tampon TCP du système
        rrreee🎜Après avoir modifié les paramètres ci-dessus, utilisez la commande suivante pour la rendre efficace : 🎜rrreee 🎜 3. Utiliser un serveur web performant🎜 🎜Choisir le bon serveur web a également un impact important sur les performances. Sur CentOS, Nginx et Apache sont des serveurs Web couramment utilisés. 🎜🎜🎜Nginx🎜🎜🎜Nginx est un serveur HTTP et proxy inverse hautes performances qui utilise une architecture asynchrone non bloquante basée sur les événements et peut facilement gérer des demandes de trafic importantes. 🎜🎜Installer Nginx : 🎜rrreee🎜Configurer Nginx : 🎜🎜Modifier le fichier /etc/nginx/nginx.conf : 🎜rrreee
          🎜Apache🎜🎜🎜Apache est un fonction Un serveur Web riche et largement utilisé, bien que ses performances soient légèrement inférieures à celles de Nginx, il peut toujours fournir de bonnes performances dans certains scénarios spécifiques. 🎜🎜Installez Apache : 🎜rrreee🎜Configurez Apache : 🎜🎜Modifiez le fichier /etc/httpd/conf/httpd.conf : 🎜rrreee🎜 4. Utilisez l'accélération du cache 🎜🎜L'utilisation de la technologie de mise en cache peut améliorer efficacement le Web performances du serveur. Les deux méthodes suivantes peuvent être utilisées pour l'accélération du cache : 🎜🎜🎜Mise en cache HTTP🎜🎜🎜 En définissant les en-têtes de réponse Cache-Control et Expires appropriés, le client peut mettre en cache les données statiques. ressources, réduisez la charge sur le serveur et améliorez l'expérience d'accès de l'utilisateur. L'exemple de code est le suivant : 🎜rrreee
            🎜Cache proxy inverse🎜🎜🎜Utilisez le cache proxy inverse pour mettre en cache le contenu dynamique et réduire les requêtes adressées au serveur backend. Vous pouvez utiliser le module proxy_cache de Nginx pour implémenter la mise en cache du proxy inverse. L'exemple de code est le suivant : 🎜rrreee🎜Conclusion🎜🎜En fermant les services inutiles, en ajustant les paramètres du noyau, en utilisant des serveurs Web hautes performances et en utilisant l'accélération du cache, le serveur Web construit sur CentOS peut obtenir de meilleures performances et une meilleure vitesse de réponse. J'espère que le guide de réglage des performances fourni dans cet article vous sera utile. 🎜🎜Lien de référence : 🎜🎜🎜https://www.digitalocean.com/community/tutorials/5-tips-to-speed-up-your-nginx-web-server🎜🎜https://www.digitalocean.com /communauté/tutoriels/comment-optimiser-la-configuration-nginx🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn