ベスト プラクティス: CentOS で Web サーバーを構築するためのパフォーマンス チューニング ガイド
要約: この記事は、CentOS で Web サーバーを構築するユーザーに、サーバーのパフォーマンスを向上させることを目的としたパフォーマンス チューニングのベスト プラクティスを提供することを目的としています。そして応答速度。いくつかの主要な調整パラメータと一般的に使用される最適化方法が紹介され、読者がこれらの方法をよりよく理解して適用できるようにいくつかのサンプル コードが提供されます。
1. 不要なサービスをオフにする
CentOS 上で Web サーバーを構築すると、デフォルトでいくつかの不要なサービスが起動されますが、これらのサービスはシステム リソースを占有しますが、パフォーマンスには明らかな影響はありません。 Web サーバーを宣伝します。したがって、これらの不要なサービスをシャットダウンしてリソースを解放する必要があります。
次のコマンドを使用して、実行中のサービスを一覧表示します:
systemctl list-units --type=service --state=running
メール サービスをオフにするなど、実際の状況に応じて不要なサービスを閉じることを選択します:
systemctl stop postfix systemctl disable postfix
2 . カーネル パラメータを調整する
カーネル パラメータの最適化は、サーバーのパフォーマンスを向上させるための重要な手順です。カーネルパラメータは、/etc/sysctl.conf
ファイルを変更することで調整できます。一般的に使用されるカーネル パラメーターの調整ソリューションの一部を次に示します。
# 增加系统最大文件句柄数 fs.file-max = 65535 # 增加每个进程可以打开的文件句柄数限制 ulimit -n 65535
# 增加系统的最大并发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
# 消除群聊分片 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_sack = 0 net.ipv4.tcp_dsack = 0
# 提高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
3. 高性能 Web サーバーを使用する
適切な Web サーバーの選択も、パフォーマンスに重要な影響を与えます。 CentOS では、Nginx と Apache が一般的に使用される Web サーバーです。
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服务器 ... }
Apache は機能が豊富で広く使用されている Web サーバーであり、パフォーマンスは Nginx よりわずかに劣りますが、特定のシナリオでは依然として優れたパフォーマンスを提供します。
Apache のインストール:
yum install httpd
Apache の構成:
/etc/httpd/conf/httpd.conf
ファイルを編集:
ServerLimit 2048 MaxClients 2048
4. キャッシュ アクセラレーションを使用する
キャッシュ テクノロジを使用すると、Web サーバーのパフォーマンスを効果的に向上させることができます。キャッシュの高速化には、次の 2 つの方法を使用できます。
適切な Cache-Control
および Expires# を設定することにより、 # #Response ヘッダーを使用すると、クライアントは静的リソースをキャッシュし、サーバーの負荷を軽減し、ユーザーのアクセス エクスペリエンスを向上させることができます。サンプル コードは次のとおりです。
location /static { expires 7d; }
proxy_cache モジュールを使用して、リバース プロキシ キャッシュを実装できます。サンプルコードは以下のとおりです。
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; } }
以上がベスト プラクティス: CentOS で Web サーバーを構築するためのパフォーマンス チューニング ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。