サーバ性能がだいぶ改善されました(と、バグ報告についてのお願い)
2009年10月17日 22時41分に書いた「自宅サーバ」の「サーバもろもろ」 ネタ
いやぁ。退屈な土曜日。
ということで、1日サーバ性能改善に
努めておりました。
かなり改善されたと思います。
やはりデータベースが原因のようです。
前回も書きましたが、300万件を超えるテーブル。
MySQL5.1のパーティション機能を使用して、テーブルを分割しただけですが
Load Averagesの平均が1〜3程度まで下がりました。
競走馬検索、レース検索以外のページでは
それほど不快感なく表示できるようになったかと思います。
今後も様子を見ながら、ほかの大きなテーブルを
パーティション化していこうと思います。
要するに、サイズの大きなファイルを扱うのに
時間がかかるってことなんですかね。
-----
さて。
先日、ご意見がメールで届きました。
---
残念ながら血統表にあやまりがあります。
---
・・・・・。
そうですか。
すいません。
としか、言いようがありません。
皆様にお願いです。 バグ報告をしていただくのは、大変ありがたいんですが ただ単に「バグがあります」といわれましても こちらとしては、対処のしようがありません。 血統がおかしいといわれても、管理人が1人で 23万3200頭すべての血統を調べて、修正することは到底無理です。 どのページでどの馬の(どのレースの)何がおかしいのか をお伝えいただかないと、管理人はどうすることもできません。 大変厚かましいお願いではございますが ご協力のほど、よろしくお願いします。
[コメント読む(0)]
▲上へ
動きが遅くてゴメンナサイ(連載になりそう)
2009年10月14日 22時40分に書いた「自宅サーバ」の「障害連絡」 ネタ
連載になりそうな、このネタ。 サーバを再構築後、 大変動きが遅くなっております。 ご迷惑をおかけしております。 ----- ほっといてあるわけじゃないんですよ。 日々、原因の追究とその対策をしてます。 一応・・・。 先日も新サーバの構成を書きましたけど、 現在、FreeBSD7.2をWindowsXP上のVirtual PC 2004 の中で動かしています。 いわゆる「仮想マシン」ってやつです。 んで、その仮想マシンFreeBSD7.2自体は USB2.0接続のハードディスクに入っています。 さて。どこが遅いのか。 1:そもそもの親マシンが遅い(→スペックが悪い) 2:スペックではなく、ホストOSのWinXPが遅い。 3:Virtual PC 2004の動きが遅い(→ゲストOSの設定も含め) 4:USB接続が遅い(→USBでのデータ転送が) 5:ゲストOSのFreeBSD自体が遅い。 6:Apache(Webサーバアプリ) or PHP(ページのスクリプト) or MySQL(データベース)が遅い。 それぞれ少しずつ対応。 やってみたことを列挙しておきます。 ----- まず、その1。マシンのスペック調整。 親マシンはPentium4、2.4G。 デュアルコアなどといわれる今のCPUに比べれば、クソみたいなもの。 なので、とりあえずBIOS設定で133MHz→148MHzへオーバークロック設定。 なんとなーく2.66Gに。 メモリは1.5G。これはこれで。 ネットワークが遅いのかな?とも思い、 PCIのイーサネットを増設。あんまり意味はない。 結果、あまり効果は見られなかった。 ----- その2。ホストOSの調整。 WinXPの不要なサービスを停止。 WinXPの入っているCドライブの空き容量を増やす(75%→50%) 不要なアプリケーションの削除。常駐モノを非常駐に。 Cドライブのデフラグ。 これは意外と効果あり。 ----- その3。VP2004設定の調整。 ゲストOSに割り当てるメモリは、 多ければ多いほうがいいってもんじゃない。 多く割り当てれば、結局XPやVP2004に割り当てられる分が減る。 なので、メモリは768M(ちょうど半分)を割り当てることに。 これはやりながら調整。多少効果あり。 ----- その4。USB接続の調整。 ディスクのスピードを測ってみたけど、 そんなに遅くない。 そもそもこれが原因ではなさそう。 ----- その5。ゲストOSの調整。 何を調整すればいいんだ?? 結局何もしてない。 ----- その6。ゲストOS上のアプリの調整。 まずApacheの調整。 子プロセスに割り当てられるメモリが多いのが気になった。 KeepAliveあたりの設定をいじってみるけど、 あまり変化は見られない。 ってか、ApacheStatusや静的ページを表示させると load averageが20とかでもサクサク表示されるので 原因は確実にここではない。 PHPかMySQLかどっちか。 PHPの調整。 スクリプトに対する割り当てメモリをいじってみるけど あまり変化は見られない。 そもそも、MySQL接続でLost Connectionとかで落ちるくらいだから 原因はMySQL以外にない。 MySQLの設定。 my.cnfのメモリ関係をいじってみても さほど変化はない。 そもそもデーモン(サーバそのもの)に問題はなさそう。 となると・・・原因は限られてくる。 ----- それなりに効果はあったものの、 いまだに遅い状況は続いています。 ・・・おそらく、データベースが原因です。 テーブルがでかすぎるか? 265万件のデータが入っているテーブルか 312万件入っているテーブルか。 →テーブルの正規化、パーティション化も検討中 インデックスがきいてないか。 →explainで再調整 このあたりを近日中に実施予定。 今週末はたっぷり時間があるので きっちりと直したいと思います。 ----- 最後になりますが 先日、ご意見をいただきましたので ご紹介させていただきます。 (遅くなってしまって、申し訳ありません・・・) --- いつも拝見させてもらってます者です。 出走予定馬の中に通過順位を入れてもらえると嬉しいです。 --- 現在、一部地方競馬では 通過順をレース結果ページで掲載しています。 中央競馬についても、通過順を掲載できるように いろいろいじくっています。 んで、データがそろってきたら 出走予定馬のページに表示できるように直していきたいと思います。 通過順は管理人も「あったらいいな」と思っていたので、 優先順位を上げて、対応させていただきたいと思っています。 いますぐってわけにはいかないかもしれませんが、 必ずやります! しばしお待ちいただければ、幸いです。
[コメント読む(0)]
▲上へ
本サーバでの稼動を開始しました・・・が(・・・動き悪い)
2009年10月3日 13時46分に書いた「自宅サーバ」の「障害連絡」 ネタ
一応「障害連絡」のカテゴリで。 昨日10月2日より、このサイトのサーバを プライベートマシンから本サーバへ移し 本格稼動に入っております。 ・・・が。 とっても動きが遅くなっています。 ページが表示されるまでに時間がかかる場合があります。 ご迷惑をおかけしております。 ----- プライベートマシンでの稼動中は load averageは1以下(ま、当然といえば当然) 現在、本マシンに移動してから 1分のload averageが平均して3〜5。 バックアップ取得時間帯(朝夜ともに6時から)になると、 10を超えることがあります。 同じサーバ設定で、これだけの差が出るとなると、 もうハードウェア的な問題しかありえないです。 とにかく、CPUのidleがつねに0なので CPU使いっぱなし状態であることは間違いなし。 メモリはかなり余裕がありそう。 MySQLやらPHPのメモリ割り当てを増やしてみても CPUの使用率はほとんど変化ありません。 ApacheのKeepAlive関連の設定も見直しましたが ほとんど変わりなし。 ネットワーク系の負荷はほとんどなし。 ・・・ということはですよ。 もう完全にハードウェアに問題があるとしか 思えなくなってくるわけです。 VirtualPCに問題があるのかというと、 そうでもなさそうだし。 (プライベートマシンも同条件だから。) ----- もう少し設定をいろいろいじりながら ホントにダメなら、CPUを増強したいと思っています。 しばらくはご迷惑をおかけしますが ご了承いただければ幸いでございます。
[コメント読む(0)]
▲上へ