日曜研究室 〜技術的な日常〜

技術的な観点から日常を綴ります

   1 月 28

Firefoxのフィード(RSS, ATOM)表示機能がおかしくなったときの対処方法

※本文中のFirefoxはMozilla Firefox バージョン 3.0.5を表します。 Firefoxでフィードを表示しようとした際に、 何故かはてなのページが表示されるという現象が起きる という相談をされたので調べてみました。 問題のマシン、というか問題のFirefoxプロファイルで開いたFirefoxでは、 確かに、リンクを辿ったりアドレス欄にフィードのアドレスを直接入力したりなど、どんな方法でアクセスしても http://r.hatena.ne.jp/append/[表示させようとしたfeedのurl(urlエンコード済み)] というアドレスの内容が表示されてしまいます。 アドレスから察するに、はてなのRSSリーダーへ登録するページのようですが、 はてなにログインしてなかったので、その先どうなるのかは分かりません。 今回は特にはてなの使い方を書きたい訳ではないのではてなのRSS登録機能の内容については書きません。 はてなとかログインしてまで使ったことが殆どないですし。 他のどのようなサイトのフィードを表示しようとしても、常に有無を言わさずはてなのRSS登録ページが表示されるのはマズいということで、 まず、問題の起きてるFirefoxのプラグインなどを調べてみましたが、特に問題はありませんでした。 次に他のマシン、というか他のFirefoxプロファイルでこの問題の再現方法を調べてみました。 正常なFirefoxでフィードを表示してみてすぐにピンと来ました。 正常なFirefoxでフィードを表示すると、こういう画面が表示されるのですが、 ここで「このフィードの購読に使用するフィードリーダー」ではてなRSSを選択し、 そのすぐ下の「フィードの購読には常に[選択したフィードリーダー名]を使用する」にチェックを入れて 「購読」ボタンを押すと、今回の問題を再現することができました。 多分他のフィードリーダーを選んでも同じような問題が起きると思います。 もちろんはてなのページじゃなく他のページが表示されるでしょうけど。 後は、この問題を元に戻す方法ですが、ちょっとググっただけでは解決方法の情報にたどり着けませんでした。 Firefoxの「ツール」→「オプション」にある設定項目もザッと目を通しましたが、特にフィード関連の項目は見当たりませんでした。 ということでアドレス欄にabout:configと入力して設定を直接弄ることにしました。 色々と検証に手間が掛かりましたが、解決方法だけ書くと以下の通りです。 about:configのページのフィルタに「feed」と入力。 絞り込まれた設定項目で以下の名前のものを右クリックして「リセット」を選択。 browser.contentHandlers.auto.application/vnd.mozilla.maybe.feed browser.feeds.handler browser.feeds.handler.default browser.feeds.handlers.webservice browser.feeds.showFirstRunUI これでフィード関連の設定が初期値に戻ります。 反映されない場合は一度Firefoxを再起動してください。 意外と簡単に解決方法に辿りつけましたが、 それにしても、”常に利用するフィードリーダー”の設定くらい「ツール」→「オプション」に付けといて欲しいものです。

Read the rest of this entry »

   9 月 24

Oracle!?

Amazon(AWS)からメールが届いておりまして、 ざっと目を通してみると、 1.オラクルがOracleDBの動作プラットホームとしてEC2を公式に認証した。 2.オラクルとAWSが協力して、既存のOracleDBサーバーをEC2に移行しやすくした。 3.OracleDBインスタンスを移動できるので追加のライセンスは要らない。 4.機密を保持しながらOracleDBをS3に簡単にバックアップできるようになった。 5.MySQL Enterpriseをサポートした。つまりEC2上のMySQLに関してMySQL(Oracle)から有償のサポートが受けられる。 6.SimpleDBの宣伝。 て感じの事が書いてありました。 僕の読み違いもあるかもしれないので鵜呑みにしないように。 間違いの指摘は大歓迎です。 MySQLの項にEC2上でMySQLクラスタを組む方法のチュートリアルへのリンクがあり、 EC2でMySQLをセットアップする方法が一通り書かれていて興味深かったです。 ただし、やってる内容は単にEBSのボリューム上にMySQLのデータを置いておくだけで 一般的なクラスタリングのイメージとは違う感じでした。 多分、EBS自体が複数のサーバーでクラスタリングされてるから、 データをEBSに乗っけるだけでクラスタリングになるよって言いたいのかもしれません。 個人的にはちょっと納得できませんが。 オラクルから金もらってAmazonが代理で宣伝してるのかと思いきや、ちゃっかり最後にSimpleDBはサイコーだよ!って書いてあってウケました。 まぁ、Oracleにはあまりいい思い出が無いので Oracle?イラネ。って感じです。 関係のない話題です。 最近JavascriptとFlashでごちゃごちゃやる何かを作っていて気付いたのですが、 MacのFirefoxは、スクロール中にすべての表示処理がブロックされる感じですね。 つまりスクロール中はFlashの表示は止まるし(音は止まらない)、 スクロールイベントで何かJavascriptを実行しようとしてもスクロールが終わってからしか反映されないです。 表示だけがブロックされてて、処理は実行されてるのかもしれませんが、そのへんは未確認です。

Read the rest of this entry »

   9 月 05

Amazon EBS使ってみました

今回EBSを使うにあたって以下のページが物凄く参考になりました。 最近発表されたストレージサービスAmazon EBS(Elastic Block Store)をEC2から利用する – RX-7乗りの適当な日々 いまEC2でsmallなインスタンスを1台、Apache Webサーバーとして常時稼動させてるのですが、 アクセス数が非常に多く、夜になるとレスポンスが非常に遅くなります。 (ちなみに儲けはあまりありません。EC2+S3の支払いもありますし。) きちんと調査してないので、ボトルネックがネットワークなのかCPUなのかディスクIOなのか良く分かってないですがw、 とりあえずは、静的ファイルをEBSで作った別ディスクに置くことで、DBアクセスのディスクIOとの負荷分散をすることにしました。 参考にしたページに方法は殆ど書いてあるので、ここで改めて書くことはしませんが、 今回Amazon EC2 + EBSのElasticぶりを激しく実感しました。すばらしい! EBSで10GBの仮想ディスクを作成し、稼働中のインスタンスにアタッチし、 稼働中のインスタンスで仮想ディスクをext3でフォーマット&マウント、 web用の静的ファイル群をディレクトリごと仮想ディスクにコピー、 元ディレクトリをリネームし、仮想ディスクのディレクトリへシンボリックリンクをはる。 ということが、ピーク稼働中のEC2インスタンスを止める事無く(もっと言うとApacheも止める事なく) 出来たというのがすごく新鮮でした。 ただ、ボトルネックの解消には至りませんでした。 まぁ当然ですね。原因を調べてないのですからw パフォーマンスチューニングは闇雲にやらざるべしという誰かの格言は大事です。 ということで、とりあえず簡単にtopコマンドなどで調べてみると、 なんと1.7GBのメモリを使い尽くしてましたw そりゃ遅くなるってもんですw ということはswapが発生してるはずなので、IO負荷を分散させたのは間違いではないですが、 swapが激しく発生するような状態になってること自体が論外です。 httpdプロセスはひとつ12MBほど消費してますが、それがたくさん立ち上がってメモリを使い切っています。 Apacheの設定を色々変えてみましたが、逆に遅くなるばかりで、 アプリケーションのチューニングも以前にすでに行ってるので、 いまのアクセス数からするとメモリの量が絶対的に足りてないのかもしれません。 ちなみにCPU利用率はピークで20%前後です。 この問題を解消するには複数台構成にするかLargeインスタンスにするか、どっちかってことになると思います。 High-CPU Mediumインスタンスってのもありますが、メモリ量が据え置きなので今回の問題の解決にはならないでしょう。 Largeインスタンスはメモリが7.5GBで移行するためにアプリケーションに 殆ど手を加える必要もないですが、価格が今の4倍ですorz 複数台構成は負荷に応じてじわじわと台数と費用を増やしては行けますが、 アプリケーションに変更が必要になり管理も難しくなるでしょう。 というか複数台構成は運用はしたことはありますが、構築はやったことがなくノウハウが殆どありません。 しかしどちらかと言ったらコスト第一ということで複数台構成を選びます。 勉強にもなりますし。 手軽なところでDNSラウンドロビンか、リバースプロキシか。 複数台での負荷分散の手法にも大から小まで色々あるみたいなので、これから一通り調べてみたいと思います。 というかFlickrの中の人が書いたWebアプリケーションのスケールアウト方法の本読めよ>自分 せっかく買ったんだから。 これは関係のない話ですが、 ViewSourceWithというFirefox拡張機能を使って秀丸でソースを開くようにしたかったのですが、 そのViewSourceWithを有効にすると Tab [...]

Read the rest of this entry »