MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する
fladdictの非公式プロジェクト(いわゆる裏dicct)に、posemaniacs.com というサービスがある。 絵のデッサン素材を無料配信するサイトだけど、いつのまにやら老舗サイトに。気がついたら1日の転送量が30〜40GBまで膨れ上がっていた。あまりの負荷にホスト元のhetemlさんでアクセス規制、あわや閉鎖の危機の大ピンチ。わりと本気で、Pixivとか星海社とかマール社にサービス譲渡とかしようか悩んだ今日この頃でした。 そんな折、@ku_suke さんのご了解で導入してみた、CloudFlareというサービスが、全ての危機を救ってくれた。マジ多謝です。 どういうサービス? CloudFlareはCDN(広域負荷分散システム)。世界5カ所にデータセンターを有し、データをキャッシュして各地に配信するこで負荷分散してくれる。いわゆるAkamaiの同類だけど、ものすごい特徴が1つある。
takada-atです。 先日PHPカンファレンス2010にて、プロマネの新田とともにスピーカーをつとめさせていただきました。 (資料のアップロードが遅れてごめんなさい!) 内容としては、ソーシャルアプリの開発について、新田からは主としてプロジェクト管理の面から、わたしからは負荷対策についてお話しました。 資料をslideshareにアップロードしました。こちらには簡単に目次だけ載せておきます。 ソーシャルアプリの概要(新田) 激戦!ソーシャルアプリ開発日記(新田) ソーシャルアプリ負荷対策(高田) 今回の資料でもちらっと触れたKLab森本のセミナー発表は若手ブログでも資料を公開しています。こちらもご覧ください。 【LAMPで作るソーシャルアプリの負荷対策 ~アプリとインフラの調和のテクニック~】
9月1日、ゲーム開発者向けカンファレンス「CEDEC 2010」において、SNS「GREE」を運営するグリー株式会社(以下 グリー)が『大規模ソーシャルゲームのつくりかた ~60分でわかるサーバサイド技術~』と題するセッションを講演した。 一日あたり億単位のトラフィックを捌くインフラはどうなっているのか。技術者2名が解説したインフラ構築のノウハウや、ソーシャルゲームと一般のオンラインゲームとの違いについて紹介する。 オンラインゲームとソーシャルゲームとの違い 最近テレビCMでも目にする機会が多くなってきたSNS(ソーシャルネットワーキングサービス)の「GREE(グリー)」。2010年6月時点の数字で、会員数2059万人、月間353億ページビューという言わずとしれた大人気サイトだ。中でも携帯電話向けソーシャルゲームが特徴的で、専用機向けのゲームと比べるとコアゲーマー以外のプレイヤーも多く、利
2009年2月27日(金)に開催されました 第1回 ライブドア テクニカルセミナー「Open & Share」の発表資料と動画を公開致します。 プラクティカル Cicindela 中の人による中の人のための、ライブドアブログ公式攻撃マニュアル(抜粋) インサイド livedoor Blog ライブドアのネットワークとトラフィックパターン P2Pコンテンツ配信技術の現状 デジタルコンテンツ配信の法的問題 プラクティカル Cicindela 株式会社ライブドア 井原 郁夫(15分) オープンソースのレコメンデーションエンジン「Cicindela(シシンデラ)」。実際の各種サービスで利用するための工夫と実践向けのプログラム設計手法を公開。 中の人による中の人のための、ライブドアブログ公式攻撃マニュアル(抜粋) 株式会社ライブドア 井原 郁央(5分) 2008年のある事件をケースとした、社
Web デベロッパーの祭典に行ってきた。今回は、通路沸きに用意された比較的狭いスペースで開催された。 以下、メモと自分の勝手な感想をまとめておく。 クックパッドについて 毎日の料理を楽しみにすることで心からの笑顔を増やす 1998年にオープン 去年のリニューアルのときに Rails で作り直した 使い方 レシピをのせる レシピをさがす 月間ユーザ数 547万人 Rails サイト中世界7位 (from rails 100 wiki)、まさか1位がscribd.comとは 月間 2.8億 PV(PVでは、Rais サイト中世界3位) 登録レシピ数: 47万品 トラフィックは、16-18時くらいがピーク(夕飯を作る前に調べるユーザが多いとのこと) 秋からバレンタインにかけてトラフィックが伸びる(来週はピークだということで、最近はパフォーマンス向上に中心にやっていた) ユーザ数: 547万人(す
KOF2008:関西オープンソース2008というイベントに来ています。 はてなの伊藤さんの講演があったので、講演メモを公開。 #ボクがメモした内容であって、100%言ったとおりに書いてあるわけじゃないので、参考としてご覧ください。 (続き) アジェンダ 大規模なデータ OSのキャッシュ MySQLの運用 大規模データアプリケーションの開発 データの例 はてなブックマークのデータ量:五千万件くらいのデータ量 このデータに対して何百万人がアクセスしてくる状況でどういう作りにするか レコード数 1073万エントリー 3134万エントリー 4143万タグ データサイズ エントリー2.5GB 何の工夫もなく普通にアクセスすると...200秒待っても結果が帰ってこない 大規模データの難しいところ 開発サーバで開発者が作っている時は快適に動いていても、多数の人間がアク
9月17日にpixivの月間ページビュー(PV)が3億を突破した。会員数は約32万人、投稿されたイラスト総数は160万枚。1年前の2007年9月10日にサイトがオープンして翌年4月には1億PVを突破している。その後7月に2億PV突破、そして1周年の記念イベントが開催されているタイミングで3億PV突破となった。 pixivは、イラストに特化したSNSサービスで、ユーザーが投稿したイラストを共有したり見せあい、評価、ランキング、ブックマークなどをつけることでコミュニケーションを図るサイトだ。扱うデータが画像ファイルとただでさえ大きくなりがちなのに、月間PVが3億にも達する「お化けサイト」のサーバーはどうなっているのだろうか。 YouTubeがGoogleに買収されるまで、あの膨大な量の動画はどこに保存されているのか、だれが維持しているのかについて「都市伝説」が生まれるくらいだったが、このpix
403 Forbidden nginx
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
『Linuxロードバランサ構築・運用ノウハウ』を公開します! これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。 一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、 サーバ負荷分散一般についてのはなし Linuxでロードバランサを作ってみる ロードバランサを冗長化 といった構成になっています。 みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください! 第1章 サーバ負荷分散概論 特集のはじめに なぜサーバ負荷分散をするのか? サーバ負荷分散の実現方法 ロードバランサのいる構成 ロードバランサはなにを元に分散す
ゴール 負荷分散のいくつかの方法に関して理解する mod_proxy_balancerによる負荷分散クラスタが構築できる 基礎知識編 基本的な資料 主にクラスタによる負荷分散の資料。 - Apache モジュール mod_proxy_balancer - mod_proxy_balancerで中?大規模サーバー運用するときの勘所 - cyano あと社外秘資料。 負荷分散? 複数台のサーバにアクセスを分散して、個々のサーバにかかる負荷を減らし、全体的に処理できるアクセスを増やすこと。 以下のようなアプローチがある。 DNSラウンドロビン DNSでひとつのホスト名に複数のIPアドレスを割り当てる方法 シンプル しかしダウンしているホストにもアクセスが振り分けされてしまう 冗長化と併用でなんとかなるかな? 機能ごとにホストを分割 ウェブサーバとDBサーバの分割(基本過ぎるが一応これも負荷分散)
シングルマスタの非同期レプリケーション機能では、マスタサーバーが1台に限定され、マスタからスレーブへの複製は非同期で行なわれるため遅延が生じ、短時間のスケールで見ると全スレーブとの同期が保証されない。しかし、その反面スレーブの台数を増加させていってもマスタサーバーの更新負荷は大きくならず、スケーラビリティを維持できるという利点がある。DeNAによる運用実績でも、マスタとスレーブ間の遅延は通常数秒程度以内に収まる。 このレプリケーションを利用する場合、アプリケーション側ではデータ更新時にはマスタサーバーへ接続し、データ参照のみを行なう場合はスレーブサーバーへ接続するように作成する必要がある。 Webや携帯電話向けサービスの場合、小さな規模で始めてユーザー規模、データ規模、ページビュー数を徐々に増加させていくことが多い。小さな規模のためDBの負荷分散が不要な場合でも、マスタサーバー1台、スレー
最近、雨の日が続いて自転車通勤ができていない naoya です。 今日は、先週ぐらいからフォト蔵に導入した Apache で mod_expires と mod_rewrite を使ったウェブサーバへのアクセスを減らす方法を紹介します。 通常のウェブサーバは、更新されていないリリースに対してアクセスすると、ステータスコード 304 とIf-Modified-Since ヘッダをつけて応答データを返しますが、CSS や JavaScript など比較的更新頻度の少ないファイルに対して、毎回応答を返すのはウェブサーバから見ると無駄なアクセスです。 Apache の mod_expires と mod_rewrite を使うと、この無駄なアクセスをブラウザキャッシュを有効活用にすることにより、静的なファイルに対するアクセスを減らすことができます。 まず、仕組みから説明すると、とても単純で mod
最近、2.0な方々の間でTwitterが話題になってる。で、そのTwitter自体も面白いんだけど、TwitterについてDHHがブログを書いてRailsでの大規模サイト構築が話題になってるのが面白い。 Twitter trouble (Loud Thinking - DHH) まずTwitterの高負荷について言及、Twitterは11,000リクエスト/秒 の高負荷で問題となっているらしい。 そしてスケーラビリティの鍵はDB分割だ、と言っている。Railsは基本一つのDBを見るのでスケーラビリティの問題になる (確かにWebサーバはロードバランサがあればいくらでもスケールするしね、Sessionの共有だけ気を付ければ) ↓ Dr Nic » Magic Multi-Connections: A “facility in Rails to talk to more than o
Weblioという人気サイトがある。調べたい用語の意味を,200以上の辞書から一度に検索できるサイトだ(参考記事,参考リンク)。2007年2月の実績は,900万ページ・ビュー,120万ユニークIPアドレスを誇る。驚くべきことに,このサイトのすべてのシステムは,ウェブリオ(Weblioを提供している会社)社内に設置された40~50台の中古パソコンでできている(写真1)。 このシステムをほぼ1人で作り上げたのが,ウェブリオ取締役最高技術責任者の佐々木亨氏(写真2右)である。ウェブリオに投資し,同社の社外取締役も務める紀信邦氏(写真2左)は「佐々木氏がいなかったら投資しなかった。彼がいなかったら,同じ事業をするのに10倍のコストがかかる」と語る。佐々木氏は,ハードウエア,ソフトウエア,ネットワークのそれぞれについて豊富な知識を持つ。「特にネットワークに強いのが大きい」と紀氏は評価する。 ウェブリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く