コミックダッシュ!等の重さ対策についていろいろと試行錯誤中です

2007/07/18

最近、コミックダッシュ! が重い とお叱りを受ける日々が続いております。
ユーザの皆さまにはご不便をお掛けして申し訳ございません。
いろいろ機能追加もしていきたいところなのですが、その前にまず
足回り整備ということで、いくつか試行錯誤をしていました。
 
コミックダッシュ! - 集めているコミックの新刊をオートマチェック!
 
サービスの注目度合いという意味でコミックダッシュ!の重さをご指摘頂く
ことが多かったのですが、実際にはこのブログも含め、自宅サーバに乗って
いる全てのサービスが平等に重い時間帯が発生していたという状態でした。
 
その第一の要因は、実は一般ユーザの皆さまのアクセスではなく、
 
 検索エンジンやRSSリーダサービスの巡回ロボット
 
のアクセスにあると見ています。何か異常に重いなーと感じたときに
Webサーバの生ログを逐一観察していると、大抵の場合、
Googlebot、Yahoo! Slurp、Bloglines、Livedoor FeedFetcher
などの巡回ロボットが大量のアクセスをしている最中だったのです。
 
そこで、いくつかの対策を講じることにしました。まず簡単にできる
設定変更として、Apacheの MaxClients の設定を150→200に増やし、
KeepAliveTimeout の設定は逆に15→10に減らしました。
 
通常のユーザのアクセスではhtmlファイルと一緒に大量のjpgファイルなども
持っていく必要がありますから、コネクションを繋ぎっぱなしにすることに
価値があるのですが、ロボットのアクセスではhtmlやxmlの単体データを
取得したら終了ですから、KeepAliveは短いほうがリソース開放を早めて
他のユーザに迷惑を掛けにくいのではないかという判断です。
これはそれなりに効果があったようです。
 
 
続いて、目をつけたのは、メガとんトラックWii-Tube です。
コミックダッシュ!のプログラム改造よりもこちらを優先しました。
メガとんトラックの個別linkidページやWii-Tubeの個別ビデオ再生ページは
それぞれ数十万ページが存在するにも関わらず全てPerlによる動的生成で
HTMLデータを作って表示していました。
 
それが何を意味するのかというと、GooglebotなどがこれらのPermaLinkを
逐一巡回するたびに、Perlのプログラムがいちいち起動されるということです。
例えばメガとんトラックは 既に45万ページものPermaLinkを 持っています。
Googleにしてみれば星の数ほどある巡回対象のほんの一部なのかもしれませんが、
45万回の巡回を動的ページにされるのは相当なサーバ負荷につながります。
 

 
そこで思い切ってロジックを180度転換させ、メガとんトラックの個別linkidページは
全て 静的HTMLのpublish で作り出すモデルに変更しました。情報に更新があった
ときに静的HTMLデータ自体を再publishするという具合です。
(もはや自分でブログシステムみたいなものを作っているのと変わりないですな・・・)
自宅のWebサーバにはメガとん用だけで実際に 45万もの.htmlファイル
作られた状態になっていて、それはそれで壮観ではあります。
 
Wii-Tubeのほうは、改造と移行が難しかったため、まだ完全に静的HTML化に移行
できたわけではありませんが、一度作られたHTMLをキャッシュとしてディスク上に残し、
次のアクセスからはキャッシュがあればそれを丸ごと返す、というロジックにしました。
Perlはアクセスごとに起動されてしまうものの、その処理内容は随分と軽くなっています。
 
以上、コミックダッシュ!本編とは違う部分だけに手を入れていたワケですが、
これらの対処によってサーバ全体の負荷上昇が多少抑えられ、重い時間帯も
少しずつ減ってきました。ただ、まだ重くて快適に操作できない時間帯が何度も
発生することを確認しています。今後も少しずつですが改善を試みたいと思います。
 
なお、コミックダッシュ!などで以下のように、HTMLデータは取得完了しているのに
Amazon画像だけが読めなくて 枠線だけが表示されるような状態になることもよくあります。
これは、実はコミックダッシュ!やあまともで表示されている商品画像はすべて
Amazon本家への直リンクになっているためです。すなわちAmazon側の画像表示サーバの
ほうも悲鳴を上げているためにこういうことが起こっています。
 

 
こればかりは私のほうではいまのところ如何ともしがたいところなのですが、
こういった状態が続くとそうも言っていられません。結局はコミックダッシュ!やあまともの
サービス自体の快適度に著しく影響を与えてしまいますので、必要であれば自宅サーバ側で
画像データまで一時キャッシュするようなことも考え始めないといけないのかもしれません。
 
皆さまにはご不便をお掛けして申し訳ございません。何卒ご容赦ください m(_ _;)m
今後ともコミックダッシュ!等のサービスを何卒宜しくお願いいたします。


2007/07/18 [updated : 2007/07/18 23:59]


この記事を書いたのは・・・。
CK@デジモノに埋もれる日々 @ckom
ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。




« ニコニコ動画にAmazonアソシエイトと、いつのまにかMyリスト貼り付け機能も

トップに戻る

あまとも通信 - PC向けワイド液晶はゲーム向けにも? »


▼ はてなブックマークのコメント ▼

leva 2007/07/20
Amazonウェブサービスを使ったウェブアプリにおいて、負荷を減らすため、動的生成をやめて準静的生成に切り替えたとのこと。こういうキャッシュはできる限り行った方が鯖の健康には良さそう。
nshash 2007/07/20
Amazonウェブサービスを使ったウェブアプリにおいて、負荷を減らすため、動的生成をやめて準静的生成に切り替えたとのこと。こういうキャッシュはできる限り行った方が鯖の健康には良さそう。
はてなブックマークで
コメントしましょう


「Kindle本対応」に「スマホ完全対応」! コミックダッシュ!数年ぶりの大規模アップデートです。


「アニメスタイル005」は明日4/30発売、コミックダッシュ!の広告も載ってますw


「アニメスタイル005」に「コミックダッシュ!」のモノクロ広告を出させて頂く予定です


メガとんトラックのスマホページにページ処理を追加、コミックダッシュ!の新刊カレンダーも


コミックダッシュ!が重複商品だらけ、原因は「Kindle版」の出現


コミックダッシュ!に画像検索リンク追加 - 気になるシリーズの雰囲気をチェック


コミックダッシュ!他、サービス一時不具合のお詫び(7/16 am 4:14~11:44)


「ヒャッコ」「にゃんこい!」Flex Comixの出版元は全てソフトバンクからほるぷ出版へ


「あのマンガは○年世代?!」 過去10年(2002~2011)の新刊シリーズランキングを作ってみた


マンガ読みならおさえておきたい! 2011年初刊のコミックシリーズ・ランキング


Amazonからブックマークレットでコミックダッシュ!に飛ぶ(スマホ編)


Amazonからブックマークレットで直接コミックダッシュ!のページに飛ぶ方法

ピックアップタグ




ブログ内検索



▼ コメント ▼


★コミックダッシュ! 10,000人突破ありがとうキャンペーン!(9/18~10/23)
 
デジモノに埋もれる日々 : (C) CKWorks