Linux で MySQL を最適化する方法の詳細な紹介
この記事は主にLinuxのMySQLの最適化例の詳細な説明に関する関連情報を紹介します。必要な方は
Linux
vimのMySQLの最適化例の詳細な説明を参照してください。 /etc/my.cnf 以下は、my.cnf ファイル内の [mysqld] 段落の内容をリストするだけです。他の段落の内容は MySQL の実行パフォーマンスにほとんど影響を与えないため、今のところ無視されます。
[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-locking
MySQL の外部ロックを回避し、エラーの可能性を減らし、安定性を高めます。
skip-name-resolve
MySQL による外部接続での DNS 解決の実行を無効にする このオプションを使用すると、MySQL が DNS 解決に費やす時間を削減できます。ただし、このオプションをオンにすると、すべてのリモート ホストの接続認証で IP アドレスを使用する必要があることに注意してください。そうしないと、MySQL が接続リクエストを正常に処理できなくなります。
back_log = 384
back_log パラメータの値は、MySQL が新しいリクエストへの応答を一時的に停止するまでに、短期間にスタックに保存できるリクエストの数を示します。システムが短期間に多数の接続を行う場合は、受信 TCP/IP 接続のリスニング キュー のサイズを指定するこのパラメーターの値を増やす必要があります。オペレーティング システムが異なると、このキュー サイズには独自の制限があります。 back_log をオペレーティング システムの制限よりも高く設定しようとしても、効果はありません。デフォルト値は 50 です。 Linux システムの場合は、512 未満の 整数 に設定することをお勧めします。
key_buffer_size = 256M
key_buffer_size は、インデックス作成に使用されるバッファ サイズを指定します。インデックス処理のパフォーマンスを向上させるために増加させます。約 4GB のメモリを備えたサーバーの場合、このパラメータは 256M または 384M に設定できます。注: このパラメータ値の設定が大きすぎると、サーバーの全体的な効率が低下します。
max_allowed_packet = 4M thread_stack = 256K table_cache = 128K sort_buffer_size = 6M
クエリソート時に使用できるバッファサイズ。注: このパラメータに対応する割り当てメモリは、各接続に排他的です。接続数が 100 の場合、割り当てられるソート バッファの合計サイズは 100 × 6 = 600MB です。したがって、メモリが約 4GB のサーバーの場合は、6 ~ 8M に設定することをお勧めします。
read_buffer_size = 4M
読み取りクエリ操作で使用できるバッファ サイズ。 sort_buffer_size と同様、このパラメータに対応する割り当てメモリも各接続に排他的です。
join_buffer_size = 8M
ジョイントクエリ操作で使用できるバッファサイズ。sort_buffer_sizeと同様に、このパラメータに対応する割り当てメモリも各接続に排他的です。
myisam_sort_buffer_size = 64M table_cache = 512 thread_cache_size = 64 query_cache_size = 64M
MySQL クエリ バッファのサイズを指定します。これは MySQL コンソールで確認できます。Qcache_lowmem_prunes の値が非常に大きい場合、バッファリングが不十分であることが多いことを示します。値が小さい場合は、効率に影響します。Qcache_free_blocks の値が非常に大きい場合は、バッファ内に多くのフラグメントがあることを示します。
tmp_table_size = 256M max_connections = 768
MySQL で許可される接続プロセスの最大数を指定します。フォーラムにアクセスするときに Too ManyConnections エラー メッセージが頻繁に表示される場合は、このパラメータの値を増やす必要があります。
max_connect_errors = 10000000 wait_timeout = 10
リクエストの最大接続時間を指定します。約 4GB のメモリを備えたサーバーの場合は、5 ~ 10 に設定できます。
thread_concurrency = 8
このパラメータの値はサーバーの論理 CPU の数 *2 です。この例では、サーバーには 2 つの物理 CPU があり、各物理 CPU は H.T ハイパースレッディングをサポートしているため、実際の値は 4*2=8 です
。skip-networking
このオプションを有効にすると、MySQL の TCP/IP 接続方法が完全にオフになります。WEB サーバーがリモート接続を通じて MySQL データベース サーバーにアクセスしている場合は、このオプションを有効にしないでください。そうしないと、通常の接続ができなくなります。
table_cache=1024
物理メモリが大きいほど、設定も大きくなります。デフォルトは 2402 ですが、最適になるように 512 ~ 1024 に調整してください
innodb_additional_mem_pool_size=4M
デフォルトは 2M です
innodb_flush_log_at_trx_commit=1
0 に設定すると、innodb_log_buffer_size キューがいっぱいになるまで待機してから保存されます。デフォルトは 1
innodb_log_buffer_size=2M
デフォルトは 1M
innodb_thread_concurrency=8
デフォルト値の 8
key_buffer_size=256M #默认为218,调到128最佳 tmp_table_size=64M #默认为16M,调到64-256最挂 read_buffer_size=4M #默认为64K read_rnd_buffer_size=16M #默认为256K sort_buffer_size=32M #默认为256K thread_cache_size=120 #默认为60 query_cache_size=32M
を使用することをお勧めします:
多くの場合、詳細な分析が必要です
。 Key_reads が大きすぎる場合は、my.cnf の Key_buffer_size を増やし、Key_reads/Key_read_requests を少なくとも 1/100 に保つ必要があります。
2. Qcache_lowmem_prunes が非常に大きい場合は、Query_cache_size の値を増やす必要があります。
以上がLinux で MySQL を最適化する方法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

エラーログは、/var/log/nginx(Linux)または/usr/local/var/log/nginx(macos)にあります。コマンドラインを使用して手順をクリーンアップします。1。元のログをバックアップします。 2。新しいログとして空のファイルを作成します。 3。nginxサービスを再起動します。自動クリーニングは、LogroTateや構成などのサードパーティツールでも使用できます。

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。nginxを再起動します。
