Q 住所記入欄に市町村区とありますが、~郡~町にすんでいる場合は、ここには「~郡~町」という形で記入して
MySQLTunerを使用して、MariaDBの設定の最適化 DBのチューニングのツールで「MySQLTuner」があります。DBのパラメータの問題点を診断してくれるツールでこれをインストールしてMariaDBのパラメータの値を見直してみます。 今回使用するサーバーのクラウドで動いており、比較的に低スペックなサーバーです OS: CentOS 8 Mem: 2G Maria DB 10.3.17 MySQLTunerをインストール MySQLTunerは、Perlで作成されておりそのプログラムをダウンロードして使用します。その際にDB管理者のパスワードが必要ですのでパスワードも準備しておいて下さい # MySQLTuner.zipをダウンロードして、ZIPファイルを解凍してPerlプログラムを実行します # cd /usr/local/src/ # wget -O MySQLTuner.z
環境にもよりますが、MySQLのデフォルトのメモリ関連の設定は控えめな感じになっています(私のCentOS環境では、key_buffer_sizeが8M,innodb_buffer_pool_sizeも8Mとなっています)ので、適切な状態への変更が必要です。 MySQLのメモリについては、いろいろな情報がありますが、MySQLのsupport-filesの中にあるサンプルを見ればいいでしょう(ちょっと、サイズの感覚が古いですが)。多くの場合、my-huge.cnfかmy-innodb-heavy-4G.cnfを参考にすればいいでしょう。 後は、本家Oracleさんの資料も参考になります。 グローバルバッファとスレッドバッファ MySQLでは、mysqldが共通に使うグローバルバッファと、スレッド(コネクション)毎に割り振られるスレッドバッファがあります。MySQLのメモリ使用量は、 メモリ
※RDSは使っていません。 負荷を見てみる DBサーバーの負荷状況を見てみます。 当時の監視ツールの画像がないのですが、以下の状況でした。 LA(Load Average)が突き抜けている リクエスト数は「常識的に考えて」それほどでもない メモリの使用量にあまり変化がない swapはしていない ストレージ容量を結構食っている WEBサーバーから見れば、処理待ちのままプロセスが処理されていない典型的なパターンだったと思います。 DBサーバーとしては、LAに対し、メモリの使用量があっていないように思われました。 仮説 上記の状態から、仮説を立てます。 スロークエリ が頻発しているのではないか メモリ が正しく割り当てられていないのではないか 各種ログ の設定が適切ではないのではないか 仮説を検証することで、対策をしていきます。 設定を見直す 上記の仮説の設定は、MySQLの設定ファイルである「
注意: この記事には特に数値やコードを提示したうえでの考察などは無いです。 Linuxにはディスクスワップのしやすさを調整する vm.swappiness というパラメータが有ります。 よく知られた設定としては以下のような物が有るかと思います。 vm.swappiness = 0 : かつて(Kernel 3.5 より前、RHELだとKernel 2.6.32-303 より前)はこれがスワップを極力させない設定だった。今これを使うとスワップが無効化されOOMが出まくるというような話を聞く。 vm.swappiness = 1 : 今の時代におけるvm.swappinessの最低値。 vm.swappiness = 10 : 一般(どこの?)に言われる現実的な下限値。RedHatの出しているOracle DataBase運用時の推奨値も10。 vm.swappiness = 60 : デフォ
MySQLサーバでスワップ(swap)が増えていたので、これを解消しました。 カーネルの設定 vm.swappiness = 1 を入れて解決しています。 こちらのスライドの17ページを参考にしました。 OSは、CentOS6.5です。 # cat /etc/redhat-release CentOS release 6.5 (Final) swapを確認 sysstatでswapの状況を確認してみます。 メモリに関しては、こちらのスライドが参考になります。 swapの発生状況を確認 # sar -W 12:00:01 AM pswpin/s pswpout/s 12:10:01 AM 0.00 0.00 12:20:01 AM 0.00 0.00 12:30:01 AM 0.00 0.00 12:40:01 AM 0
社外の取引先、パートナーと一緒にプロジェクトを進める際には、円滑なコミュニケーションが重要になる。しかし、社内ではSlackを利用しているのに、外部とはメールでやり取りしていたら、それがボトルネックになってしまいかねない。社外のプロジェクト関係者も自社のSlackワークスペースに招待し、コミュニケーションを行ったほうが効率が良い。 ただし、社外メンバーに通常のアカウントを発行すると、さまざまなチャンネルに投稿された社内の情報まで丸見えになってしまう。また、有料プランの場合はアカウント発行の追加コストも発生してしまう。これでは困るだろう。 特定のチャンネルに社外ゲストを招待する「シングルチャンネルゲスト」 そこでお勧めなのが「シングルチャンネルゲスト」機能だ。Slackの有料プランで使えるこれは、アクティブメンバー(有料アカウント)1人に対して、ゲストを5人まで無料招待できる機能だ。たとえば
#!/bin/sh # 二重起動チェック if [ $$ != `pgrep -fo $0` ]; then echo "Already running!" >&2 exit 9 fi # メイン処理 echo "[`date '+%Y/%m/%d %T'`] Sleep 10 seconds..." sleep 10 exit 0 $$ は、自分自身のプロセスID。 $0 は、自分自身のプロセス名(相対パス)。 pgrep -fo $0 は、自分自身のプロセスIDを取得。 メリット・デメリットについて メリットは、cron 実行しないのであればこれで充分である。 デメリットは、cron で実行された場合にチェックが効かない。 理由は、pgrep -fo $0 が cron で実行した際のプロセスIDとなってしまう(子プロセス($0)のプロセスIDにならない)ため。 2. 作成例(その2)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く