タグ

ブックマーク / yamaz.hatenablog.com (15)

  • Contents Delivery Managementという考え方 - 最速配信研究会(@yamaz)

    地震速報の話 Iさん:ヤフーの全ページに一気に情報を反映させる仕組みってないかな? yamaz:  広告サーバはどうですかね?設備はもうあるし、クリックや表示カウントもできますよ。 1秒間に数万アクセス――地震発生時にYahoo! JAPANトップに現れる“あの枠”の裏側 - Yahoo!ニュース スタッフブログ 当時ヤフーの全ページに一気にデータを反映させる仕組みは広告サーバしかなかったので、地震速報の実装は広告サーバをベースに行われた。もう10年ほど前の話だ。 Contents Delivery Managementという考え方 弊社はいわゆる広告システムを作っている会社だけど、広告システムを9年前に作ろうと思ったときに「広告システムって結局のところなんなのだろう?」というのを非常に考えた。いわゆる「バナー配信システム」を作ることはもちろんすぐできたけれど、今後ありとあらゆるインターネ

    Contents Delivery Managementという考え方 - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2015/03/16
  • ヤフーがyimg.jpを使う本当のワケ - 最速配信研究会(@yamaz)

    ヤフーの画像はなぜyimg.jpドメインなのか? サイト高速化の手法とヤフーの失敗例 でヤフーがなぜドメインを変えて画像サーバを運用しているかが書かれている.「静的なコンテンツに対してクッキーフリードメインを使うことによって速度向上を狙う」というのが理由とあって,これはこれでもちろん正しいのだけれど,これはどちらかというと副次的な理由で当の理由は違う. クッキーフリードメインを使うことで悪意あるFlashコンテンツなどから自社ドメインのクッキーを守るためというのが当の理由で,これはあちこちで使われているテクニックだ.Flashコンテンツは外部の業者さんに作ってもらったり,広告の入稿素材として入ってくるので,信頼できないデータとして取り扱う必要があり,万一まずいデータがアップされることがあっても大丈夫にしておく必要がある. 最近ユーザからの任意のコンテンツを受けつけて同一ドメインで配信し

    ヤフーがyimg.jpを使う本当のワケ - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2009/01/14
  • Re: Tokyo Tyrantによる耐高負荷DBの構築 - 最速配信研究会(@yamaz)

    「Tokyo Tyrantによる耐高負荷DBの構築」 http://alpha.mixi.co.jp/blog/?p=166 がとても興味深い. Mixiのようにどのユーザも比較的まんべんなくアクセスされていて かつ「あしあと」や,「最終ログイン時刻」のように固定長でOKなデータの場合は,バケットチェーンなどのオーバヘッドが発生するハッシュやB+Treeより,ファイルをスロット化してIDに応じて一発lseekなファイルベースの簡易DBの方がロックもないし速いケースもありそうだなぁと思ったけどどんなもんなんでしょう? 1500万ユーザ×64bitの日付情報として15Mユーザ×8byte=120MB これならファイルシステムのキャッシュも利きそうだし結構はやそう.

    Re: Tokyo Tyrantによる耐高負荷DBの構築 - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2008/05/08
    もともとTTはログイン時間のためにつくられたものではないっすね
  • 2000人のエンジニア - 最速配信研究会(@yamaz)

    大規模分散処理向けの国産“ウェブOS”をRubyで開発中 http://www.atmarkit.co.jp/news/200711/26/rakuten.html GoogleFileSystemライクなシステムを作るっていう試みはもちろんがんばれ!なんだけど. 「現在、楽天社内と協力会社を含めて1100人規模の技術者がいるが、3年後には3倍といったスケール感で数を伸ばしていきたい。当然、東京の開発者だけでは足りない。すでに全国主要都市に開発拠点を立ち上げつつあるが、海外拠点を作ることもありうる」(杉原氏) 2000人のエンジニアを新たに雇う予算があるなら3倍の給料払って300人の優秀な人間を集めた方が効率いいと思う.それなら予算は半分ほどで,得られる結果もいいはず. (おしまい)

    2000人のエンジニア - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2007/11/27
  • 2000万個のプロセスを動かすための並列モデル - 最速配信研究会(@yamaz)

    # タイトルは煽りです. 今週末ドリコムさんでCometとその周辺技術(イベント処理、Erlangなどなど)に関する勉強会が行われるので,ここ最近つらつら考えたり調べたりしてたことを外に出します.yamazはErlangの文法とかにはあまり興味がなく,2000万のプロセスが並列実行できるというそのモデルに興味があるので,とりあえずそこについて. なおいつもにも増して適当なこと書いてるので,適宜マユツバでお願いします.ツッコミ大歓迎. Erlangは1マシンで2000万のプロセスを並列実行させることができるらしい. http://www.atmarkit.co.jp/news/200704/27/erlang.html 私は並列言語はVHDLしか使ったことがなく,しかもVHDLはちゃんと 並列実行を行う要素が回路の形で実在するので,Erlangみたいに 1マシンで並列性を実現することに対して

    2000万個のプロセスを動かすための並列モデル - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2007/05/22
  • 負荷とか監視とか - 最速配信研究会(@yamaz)

    naoyaのはてなダイアリー - マルチコア時代のロードアベレージの見方 を読んで思い出したこと. 前職ではいろんなサービスがいろんな方式でサービスを行ってた. Javaあり,FreeBSDあり,Solarisあり,Threadバリバリ,プロセス立ち上げまくり,○○のサーバ,メモリ沢山載ったサーバ,古いサーバ,改造××などなど. そんなサーバ群はロードアベレージ20とかでも平気でサービスを行ってる一方で,ロードアベレージ1くらいでも苦しそうな(?)サーバとかもあって,ロードアベレージという数字はあまり役に立ってなかった.そんな中で我々のチームが下した結論は 「ロードアベレージは何かの数字を表しているかも知れないけれど, *絶対的な数字*として使うにはきっと役に立たない」 というものだった. 監視などをするにあたって,ロードアベレージ,IOStat,使用帯域,メモリ使用量などの各種パラメータ

    負荷とか監視とか - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2007/05/20
  • 最速配信研究会 - Web2.0とC10Kに関する数々の誤解

    Web2.0 = Ajax/Cometなの?とかプロセスIDは今でも16ビットなの?とかはサテオキ、 個々のクライアントがサーバに要求する処理量は小さなものでハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする――。これが最近Web開発者の間で話題となっている「C10K問題」(クライアント1万台問題)だ。 AjaxやCometなどのクライアント側技術に伴うサーバ側の問題に関していろいろ誤解があるようなので,書いておきたい.きっとlingrの中の人はこの記事読んでニヤニヤしてるはず. 以下、記事にないことも書いてあるのでそのつもりで. 誤解その1 AjaxによるWebアプリの台頭でサーバ側の負荷が増大する Ajaxの典型的な使い方はサーバに問い合わせてページの一部分だけを 変化させるというモノだ.これはページ全体を書き換える従来の方法と違い, すでに

    最速配信研究会 - Web2.0とC10Kに関する数々の誤解
    kazeburo
    kazeburo 2007/01/10
  • 補足 - 最速配信研究会(@yamaz)

    patchがapache2.2.0用だったので、apache2.2.3用のも用意しました.

    補足 - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2007/01/10
  • selectよりkqueue,epoll(apache2のススメ) - 最速配信研究会(@yamaz)

    最近3人ほどのエンジニアと話したのだがapache2に対して割とネガティブな意見を持っていた. 曰く「既存モジュールが使えないから」 曰く「スレッドベースってちょっと。。」 曰く「WEBでいい話聞かないから」 3人しか話してないんだけど,3人とも「apache2はスレッドでしか動かない」と思いこんでたようでちょっとおどろいた.apache2でも StartServers 5 MinSpareServers 5 MaxSpareServers 64 MaxClients 100 MaxRequestsPerChild 10000 という設定をすることで今までどおりpreforkモデルで動かすことはできる.preforkモデルだと各種ハンドラもスレッドセーフに無理にすることはないので,わかってて使う分には問題ない. 私がapache2を勧める1番の理由はapache2ではリクエストの多重化処理

    selectよりkqueue,epoll(apache2のススメ) - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2006/11/06
  • squid2.6のCOSSの話(その2) - 最速配信研究会(@yamaz)

    squid2.6のCOSSの話の続き COSSのパフォーマンスのよさに関して「俺だまされてない?」というモヤモヤ感が高かったんだけど,あちこちの方々と議論した結果これが正解だろうという結論に行き着いた. ありがとう!>あちこちの方 友人との会話. yamaz: おっすおっす。いる? xxxxx: お久しぶりです! yamaz: squid2.6のCOSSって知ってる? xxxxx: 初耳です。<COSS yamaz: http://blog.nomadscafe.jp/archives/000705.html yamaz: http://wiki.squid-cache.org/SquidFaq/CyclicObjectStorageSystem yamaz: このあたりの話なんだけど、 yamaz: なぜコレが速いかっていう見解って持ってる? xxxxx : 3年ぐらい前、apacheを

    squid2.6のCOSSの話(その2) - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2006/10/26
  • squid2.6のCOSSの話 - 最速配信研究会(@yamaz)

    Squid2.6 のCOSSがいい感じという非常に興味深いエントリが出たので,ふれてみたい. 最初にお断りしておくが,実のところ私の中でもCOSS(とその根底にある事実と思想)に関していろいろ納得できないところがあって,十分には咀嚼しきれていない. なので下記の内容は多少眉に唾して読んでもらって,間違っている所などがあれば指摘してもらえるとありがたい. 以前squid vs apacheというエントリでapacheとsquidの比較を行った結果のエントリを書いた. 詳細は上記エントリを読んでもらうとして,結論としてはsquidはapacheと比べて大規模配信には向かないというモノだ. しかしこれは調査自体が3年も前でsquidも2.5の話だったので,もう実情とあってないかもなぁと思っていた.その一方squidも着々と進化をしていたようで,2.6からキャッシュオブジェクトの新しい格納方法であ

    squid2.6のCOSSの話 - 最速配信研究会(@yamaz)
  • squid vs apache - 最速配信研究会(@yamaz)

    http://blog.livedoor.jp/nipotan/archives/50538571.html を読むとmixiではsquidが一部で使われているようだ.具体的にどこで使われているかはわからないけれど, 当然我々もsquidには目をつけていてapacheのmod_proxyとの比較検討を行ったことがある. その結果squidはスケーラブルな配信サーバを構築するのには向いていないという結論になった. それはこんな理由による. 1. キャッシュされたファイルのインデックスデータとメタ情報をメモリに置くのが無駄 squidはキャッシュされたファイルのインデックスデータとメタ情報をメモリに置く. よって画像が増えれば増えるほどインデックスが大きくなりすぎて,来使用したい ファイルシステム用のバッファキャッシュがいつぶされてしまうという結果になった. 実際某サイトでは数十万URL程

    squid vs apache - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2006/07/31
    うむ
  • みなさんさようなら ---1台で同時50万接続のWebサーバーが登場 - 最速配信研究会(@yamaz)

    「もう負荷分散は必要ない」---1台で同時50万接続のWebサーバーが登場 http://itpro.nikkeibp.co.jp/article/NEWS/20060707/242757/ ここまで徹底した製品が出るとはある意味いい時代といえる. こんな製品が出てしまったからにはこんな場末のBlogで 配信技術についてグダグダ話す必要もないだろう. 短い間でしたがみなさんどうもでした. ということには当然ならない.たいていのサービスはこれ1台で全部 まかなえるだろう.ただその代償としてロバストネス(堅牢性)を失う可能性があるからだ. 今までサーバ30台でまかなっていたのがこの製品1台に置き換わったとしよう. そうするとこの1台が落ちたとき=サービス停止となる.これはうまくないだろう. 「じゃあ2台買えばいいじゃん.」 という意見もあるだろう.そうすると1台落ちたときにもう1台にかかる負荷

    みなさんさようなら ---1台で同時50万接続のWebサーバーが登場 - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2006/07/07
    まさに
  • 画像配信の負荷分散も比較的簡単?(その5) - 最速配信研究会(@yamaz)

    画像配信の負荷分散も比較的簡単?(その4) のつづき. 初めての方は画像配信の負荷分散も比較的簡単?(その1)からどうぞ. 画像配信の負荷分散も比較的簡単?(その3)にて下記のようなコメントをいただいた. アクセスが特定の画像に集中した場合には問題が出ると思うのですが どのように対応したらよろしいでしょうか? 例えばある画像が1枚某ブログにウプされて 2ちゃんのいろんなスレに画像への直リンクURLが貼り付けられて祭りになり 1台の画像鯖に負荷が集中しさばききれなくなった場合、 先生の方法ではいくら鯖を増設しても負荷は分散されないし アクセスが集中している画像鯖だけ別にDNATやmod_proxy+mod_rewriteとかその他の方法との併用で 負荷分散はできますけど祭りが起きるたびに毎回毎回特定鯖だけネットワークに手を加えるのも めんどくさいと思うのですがこの辺はどのようにしているのでし

    画像配信の負荷分散も比較的簡単?(その5) - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2006/06/23
  • 動画配信の負荷分散は比較的簡単 - 最速配信研究会(@yamaz)

    http://d.hatena.ne.jp/naoya/20060407/1144376197 ではてなおやさんがYouTubeの負荷分散について語っておられる. mixiの負荷分散とは質が違うことについてはおおむね同意だけど, YouTube のシステムを見たときにその焦点になるのは、まず第一にネットワーク帯域。第二にストレージをどうしているかというところじゃないかなと思います。動画配信にリソースがいるポイントは、ネットワーク帯域とディスク I/O です。つまり YouTube の負荷分散で気になるところは * ネットワーク帯域 * ストレージ o 容量の管理 o 動画を格納しているストレージサーバーの I/O あたりです。 はちょっと踏み込み足りないなぁという印象なので書いておく.集合知.集合知. 動画配信は通常の画像配信と違って下記の特性を持つ. 画像のように1ページに複数個配信する

    動画配信の負荷分散は比較的簡単 - 最速配信研究会(@yamaz)
    kazeburo
    kazeburo 2006/04/07
    なるほど
  • 1