この記事の内容は、haproxy ロード バランシング mysql の使用方法に関するものです。必要な方は参考にしていただければ幸いです。
システムは 1 マスター、複数のスレーブ モデルで、読み取りと書き込みの分離はアプリケーション レベルで実装され、挿入、削除、更新、および変更はマスター ライブラリに移行します。奴隷図書館。次に、スレーブ ライブラリの負荷分散を行い、keepalived を使用して haproxy を結合しました。
早速、始めましょう。
システム環境: centos7
そうは言っても、haproxy の公式コミュニティ Web サイトがいつブロックされたのかはわかりません...残念ながら、haproxy の最新の安定バージョンは、次のリンクからダウンロードできます。住所。
1
# wget https:
//www.haproxy.org/download/1.8/src/haproxy-1.8.9.tar.gz
ログイン後にコピー
インストール前に友人に Readme ファイルを読んでもらうことをお勧めします
1
# cat /usr/src/haproxy-1.8.9/README
ログイン後にコピー
haproxy をインストールします。ここでのプレフィックス キーワード PREFIX はインストール ディレクトリを指定します。使用するのは大文字です。通常、ソース コードを通常にインストールする場合は、configure コマンドの後にオプション「--prefix」を追加して区別します。
1
2
3
4
# tar -zxf haproxy-1.8.9.tar.gz -C /usr/src/
# cd /usr/src/haproxy-1.8.9/
# make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 PREFIX=/usr/local/haproxy
# make install PREFIX=/usr/local/haproxy
ログイン後にコピー
haproxy プログラム ユーザーと設定ファイル ディレクトリを作成します
1
2
# useradd -M -s /sbin/nologin haproxy
#
mkdir
/etc/haproxy
ログイン後にコピー
このバージョンのパッケージでは、haproxy 構成ファイルはサンプルを提供していません。
#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
# haproxy のデフォルトのログはシステムの syslog に出力されますが、haproxy
ログをより適切に管理するために、通常は実稼働ラインで独立して定義します。方法は次のとおりです。
(1) haproxy.cfg のログ構成オプションを変更し、次の構成をグローバルに追加し、情報ログと通知ログを別のファイルに記録します。
1 2 |
|
(2) rsyslog 設定の変更
管理を容易にするために、haproxy 関連の設定は /etc/rsyslog.d/haproxy.conf で独立して定義されます。設定のこの部分は、情報ログと通知ログをそれぞれ /var/log/haproxy181/{haproxy181-info.log,haproxy181-notice.log} ファイルに記録します。ここで、「& ~」は、ログがファイルに書き込まれた後であることを意味します。ログ ファイル、rsyslog このメッセージの処理を停止します。ここで設定する構文は、rainerscript スクリプト言語で記述されています。
1 2 3 4 5 |
|
haproxy.cfg 設定ファイルの構文が正しいか確認してください
1 |
|
問題がなければ、-c オプションを削除して、 start haproxy
1 |
|
1
2
3
[root@server181 haproxy]# ss -antulp | grep haproxy
tcp LISTEN 0 128 *:3306 *:* users:((
"haproxy"
,pid=3315,fd=4))
tcp LISTEN 0 128 *:7979 *:* users:((
"haproxy"
,pid=3315,fd=6))
ログイン後にコピー
ブート時に自動的に開始するように haproxy を設定します
1 2 |
|
テストのために haproxy を接続します
1 2 3 4 5 6 7 8 9 10 11 |
|
次に、別のサーバーを使用して haroxy を実行し、keepalived を統合します。リモート システムは、mysql クライアントを使用して負荷分散 VIP に接続し、ログインし、ヘルス チェック、フェイルオーバー、その他のプロジェクト テストを 1 つずつ実行します。
概要:
haproxy は、非常に高負荷のシナリオであっても、中規模の負荷では CPU 負荷が非常に低く、ユーザー スペース占有率が 5%、システム スペース使用率が 95% であることも非常に一般的です。これは、haproxy プロセスの消費量がシステム スペース消費量の 20 分の 1 以上少ないことを意味します。したがって、OSのパフォーマンスチューニングは非常に重要です。ユーザー空間の占有率が 2 倍になっても、CPU 占有率はわずか 10% であり、これもレイヤー 7 処理がパフォーマンスに与える影響が限定的である理由の説明になります。その結果、haproxy のレイヤー 7 パフォーマンスは、ハイエンド システム上のハードウェア負荷分散デバイスを容易に超える可能性があります。
tcp プロキシをサポートする haproxy の機能により、mysql 読み取りライブラリの負荷分散も実行でき、非常に優れたパフォーマンスを発揮します。
以上がhaproxy 負荷分散 mysql の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。