データの整合性

晴れ今日公開した某管理ページがあるのだけど、その中で不具合が発生していた。
ページごとのアクセス数の集計をしているのだけど、集計元となるデータを挿入する際の、負荷を分散する箇所で不具合が発生しており、通常よりかなり多いアクセス数を記録していた。
それの重複をとる作業を行った。
プログラム書いて、それを回しただけなのだけど、何しろ時間がかかった。
第一の処理、これが約4時間。 第二の処理、これが日をまたいで、約16時間もかかった。 対称となるデータが300万件近かったし、現在のデータも書き込まれている最中での処理だったので、こんなに時間がかかったのだろうけど……

無事、データの整合性も取れたので一安心。

MySQLのクエリーチューニング

晴れ仕事で使っているMySQLで大量のinsertを処理することになった。 1日120万件くらい。 それを48時間保存し、使い終わったものはdeleteする。
そのMySQLサーバーはレプリケーションを組んでおり、スレーブ2台にバイナリログでデータが配送される。
で、大量のinsert。 全てスレーブにも反映される。 そこまではいいのだけど、バイナリログとディスクに書かれる量がとても多く、HDDのIO待ちが発生している模様。

で、部内で話し合い、一時データとして、ストレージエンジンをmemoryにしたものに書き込み。 それを8秒に1000件ずつ、複数insertの構文で、innodbのテーブルに挿入。 insertしたデータはmemoryのテーブルからは消す。
という処理を加えた。
バイナリログに書かれるもの自体は倍になった感じだけど、insert待ちがだいぶ減った気がする。

普段MyIsamばかりで、innodbはほとんど使ったことがないので、insert、updateなどが遅い以外にも、まだいろいろと悩まされるかもしれないな。

データセンター

曇りのち雨仕事で7月から選定やら契約やらしていたデータセンターが、ようやく今日から利用開始。
昼過ぎから市内某所のデータセンターに設置工事の確認をしたり、回線の接続確認をする。
新しくサーバー担当で入った人がほとんどやってくれたので助かった。
サーバーの設定はできるかもしれないけど、運用開始時の疎通のチェックやルータの設定などはわからなかった。

さて、これでサーバーの自由度が増したけど、やらなきゃいけないことがだいぶ増えた感じ。

社内Linux講習2

晴れ本日も社内Linux講習の続き。 WEBサーバー、データベースサーバー、メールサーバーの設定など。
だいたいは自分で借りてるVPSサーバーでやってたり、クラウドで遊ぶときにやってたのだけど、dovecotのバージョン2の場合がやったことがなくて、参考になった。
しかもdovecot、「ダブコット」って読むらしい。 ずっと「ドベコット」だと思っていた。 yumも「ヤム」って読むらしい。 これも「ユム」だと思っていた。
このあたりの単語は、間違って発音してるものがいっぱいあるんだろうな……

とりあえず、そのあたりの基本設定までして、講習は終わった。

実際にサイト運営が始まったら、いろいろ見ないといけないところはあるんだけど、とりあえずはこれだけで。

社内Linux講習

晴れ社内で、Linuxサーバー講習を行った。
行った内容は、サーバーを箱から出し線を繋げ、DVDドライブにCentOS6のDVDを入れ、インストール。
仮想化環境の作成と、Windowsから仮想マネージャを操作し、仮想サーバーを構築するところまで。

仮想化にはKVMを使ったが、そのあたりの設定はパス。 設定されているものに、仮想サーバーを追加したりする部分だけ。

まぁいろいろとややこしそうだった。 BIOSの仮想化支援をONにしたり、ethをブリッジにしたりと。

まぁこのあたりのことは、初回やるだけで、サーバーが稼働したあとはやらないんだろうな。
一気に全部覚えるのは無理だ。

NTTコミュニケーションズ

曇り会社で利用するデータセンターのために、NTTコミュニケーションズと、回線の契約を結ぶ。
申込書をもらったのだけど、けっこうなボリュームだった。
会社名と住所と印鑑だけの契約書だけかと思ったら、JPNICにIPアドレスの申請をする書類があり、そちらが大変。
IPの利用目的やwhoisに載る部分などを登録しないといけないよう。

けっこうややこしいんだね。

LDAP

晴れ今日はLinux講座の第7回。 LDAPを習う。 概念を聞いている段階ではイメージがわかなかったのだけど、パスワードを一元管理するものらしい。
実ユーザーを作らなくても、LDAPにてユーザーを作成しておけば、実ユーザーと同じように扱える。
メールで、実ユーザーを作らなくても、メールアドレスを切ることができるような仕組みに似ているな。
それを実現するのが、LDAPというものらしく、LinuxではOpenLDAPというものがある。
ので、それを勉強。

設定ファイルが、けっこうめんどそう。 記述量が多い。
変更、削除なども全てコマンドなので、覚えるのが……
ただ、GUIでWEB上から操作できるツールも、誰かが作って公開しているらしい。
そういうツールを駆使するのもいいかもね。

とりあえず、これは便利そう。

Linux講座 httpdとftpd

雨ときどき曇り今日もLinux講座。
いつも通りはなまるうどんを食べて、パソコンスクールに向かう。 今日で5回目だっけな? apacheのpreforkについて詳しく説明してもらった。
が、途中眠くて……

後半はfptd。 CentOS標準のvsftpdについてやった。
まぁyumでインストールして、vsftpd.confを書き換えるだけだけど、vsftpd.confのmaskで、少々詰まった。
デフォルトは022らしい。 そこを未設定にすると、077が適用されるらしい。
説明受けるまで良く分からなかったけど、単純にdenyにしたいものを1にするだけなんだね。 理解できた。
まぁデフォルトから変更することはないだろう…