Help us understand the problem. What are the problem?
KLab Advent Calendar 2011 「DSAS for Social を支える技術」の9日目です。 前回は php を動かしている Apache の手前にリバースプロキシを 置く必要性を解説しました。 今日は、 その前の php のプロセス数を絞る設定と合わせて、実際に Apache で 設定する方法を紹介します。 以降、 php を動かしている Apache の事をアプリサーバー、リバースプロキシ+ 静的ファイル配信を行っている Apache の事をプロキシサーバーと呼びます。 基本設定 まずは基本的な設定のおさらいです。 アプリサーバー 並列数を絞るには MaxClients を設定します。アプリがどれくらいの時間を CPUの処理で使って、どのくらいの時間を外部リソース待ちに使っているかにも よりますが、だいたいCPU数の1.5倍〜2倍くらいが適当だと思います。 Hyp
先日書いた「MySQL のボトルネックを統計的に監視・解析する方法」について、PostgreSQL でも pg_stat_activity テーブルを使って実行中のクエリ一覧を取得できると higepon さんに教えてもらったので、やってみました。 % ppdump > ppdump.txt のようにクエリをサンプリング (デフォルトで100秒間程度) して、 % ppfilter < ppdump.txt | ppreport のようにすると、平均負荷の高いクエリから順にソートされて表示されます。詳しい使い方や考え方については、mprofile のエントリをご参照ください。 pprofile のソースコードは、/platform/postgresql/pprofile – CodeRepos::Share – Tracに置いてあります。負荷が高い PostgreSQL 環境が手元にないの
ここ数年の大規模サービスのシステム運用について調べてみたので参照したページやファイル、本へのリンクをまとめておく。PDF へのリンクも多数含まれているのでご注意を。 時代が時代なら企業のノウハウとして隠されていたような情報がこれだけ公開してもらえているというのが非常にありがたい。公開してくれている各企業や公開してくれている人に感謝。 あとで気付いたが、Google や Facebook の事例も探しておけばよかった。Thrift とかあったのに。「こんな情報もあったよ」などあればぜひ教えてください。追記していきます。 youtube http://d.hatena.ne.jp/stanaka/20070427/1177651323 digg http://d.hatena.ne.jp/stanaka/20070427/1177651323 livedoor http://labs.cybo
jboss.org: community driven JBoss Web ProjectおよびJBoss AS Clustering Projectから興味深いプロジェクトが発表された。その名もmod_clusterだ。現在のところ1.0.0.Beta1が公開されている。名前のとおりApache HTTP Serverで動作するモジュールで、背後で動作するTomcatやJBoss Web、JBoss ASなどのアプリケーションサーバへのコネクションを担当する。ロードバランシングの機能とプロクシの機能を備え、mod_jkとmod_proxyの双方の機能をもったような仕組みになっている。 mod_jkやmod_proxyとの大きな違いは、アプリケーションサーバからHTTPサーバへのバック通信をサポートしているところにある。HTTPメソッドでアプリケーションサーバからmod_clusterモジ
連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「
オープンソースのPostgreSQLでシステムを構築 10代、20代を中心に急激な普及を見せる“ケータイSNS”。会員数が865万人に達する「モバゲータウン」や月間118億ページビュー(PV)を誇る「mixi」(約6割がモバイル経由)など、大手SNSサイトが存在感を増している(数値はいずれも2007年12月現在)。そうした中で先行組を激しく追撃しているのが、オープンドアが運営する携帯電話向けのSNSサイト「大集合NEO」だ。 2007年1月にスタートした大集合NEOは、SNSのみならず、アバターやゲーム、小説、動画、日記、チャットなどのサービスをすべて無料で楽しめるのが特徴だ。アバターやサイト内通貨の使い勝手の良さで先行サイトと差別化を図り、2007年夏に50万人だった会員数が2008年2月時点で2倍の100万人に達している。 その大集合NEOのシステム基盤を担っているのは、MySQLとオ
インターネット・サービスの激戦区である動画配信で後発ながらYouTubeを上回る成長速度,YouTubeの3倍以上となる1日ひとり3時間以上という平均視聴時間を実現したニコニコ動画。開設後1年足らずで400万人の会員を獲得,日本全体のトラフィックの約10分の1を占める。その成長速度はmixiも上回り,日本史上最速と見られる。 ニコニコ動画は多くのメディアで語られ,2007年10月にはグッドデザイン賞も獲得したが,これまでは社会現象やマーケティングの観点から語られることが多かった。しかしニコニコ動画を作り上げ,その急拡大を支えたのはまぎれもなくエンジニアの技術だ。多くのクリエイタやユーザーを魅了し,巨大なアクセスをさばく技術はどのようなものなのか。ドワンゴのエンジニアに聞いた。 「感情」を共有するアルゴリズム 動画の上に文字をかぶせるサービスはニコニコ動画以前にも存在した。また,動画のタイミ
ApacheCon US 2007の、『Apache Performance Tuning / Part One: Scaling Up』, Sander Temme (PDF) より。 ab おなじみ、Apache付属のあいつ http_load http://www.acme.com/software/http_load/ flood http://httpd.apache.org/test/flood/ JMeter http://jakarta.apache.org/jmeter/ 最近のバージョンは使いやすくなったらしい あと、ほかには httperf http://www.hpl.hp.com/research/linux/httperf/ とか。
大量のアクセスに対応するため、またWebサーバ故障時のリスクを減らすため に、Webサーバを複数台使用する場合があるかと思います。そのような環境で PHPを使用する場合、セッション情報をどう管理するかが問題の一つとして出て きます。 今回はそんな時に使えるセッションサーバ、sharedanceを紹介します。 sharedanceを使うと、複数のWebサーバ間でセッション情報を共有できるよう になります。また、設定が簡単で、動作も比較的軽いのが特徴です。 では、早速インストール、設定方法を順に見ていきます。 (以下の説明ではlinux環境を想定しています。) 1)libeventのインストール sharedanceではlibeventというライブラリを使用するので、まずこれをインス トールします。 ソースコードを下記ホームページからダウンロードし、適当なディレクトリに展 開します。 libe
2007/06/05 リクルートのFIT システム基盤推進室 フェデレーションオフィサーの米谷修氏は6月5日、「PostgreSQLカンファレンス2007」で講演し、同社が展開するネットサービスへのPostgreSQLの採用状況を説明した。フリーペーパー「R25」「L25」のWebサイトなどで実験的にPostgreSQLを使っているが、「負荷が高いサービスではまだ怖くて使えない」という。ユーザー側からみたPostgreSQLの課題とは何だろうか。 R25、L25のWebサイトは月約1億2000万のページビューを誇る。リクルートはほかにもローカルサーチサイトの「スゴイ地図」や地域検索情報サイト「ドコイク?」などでPostgreSQLを採用している。リクルートは4年前にもPostgreSQLの採用を検討したが、当時の機能ではアーカイブログが取れず、「もしサービスが落ちたときに戻せない可能性があ
keepalived は MISC_CHECK を利用すると、標準の機能でサポートされていないヘルスチェックをすることができますが、MISC_CHECKの注意点でご紹介したように、安全に運用するためには結構気を使わなければいけません。また、比較的短い周期で繰り返さなければならないヘルスチェックでは「チェックの度に別プロセスを起動する」というアプローチは、できるだけ避けたいと考えるかもしれません。 というわけで、それなりにニーズがあると思われるヘルスチェック機能を keepalived-1.1.13 に組み込んでみましたのでパッチを公開します。 keepalived-extcheck.patch (46080bytes) ただしこのパッチ、まだDSASの本番環境には適用していません。 つまり稼働実績がありません。今は開発環境での試験運用中ですので、その点をご理解の上でご利用下さい。不具合報告
ITpro会員向けの新サービス「MyITpro」が本日(2007年5月18日)中にはオープンできる運びとなりました。ここではMyITproサービスを提供しているシステムの構成などについて少し紹介させて頂こうと思います。 複数サーバーで負荷分散,1台がコケてもほかがカバー MyITproのサーバー群は,ITpro本体のシステムとは完全に独立しています。ドメイン名も少し違いますし(ITpro本体はitpro.nikkeibp.co.jp,MyITproはmy.itpro.nikkeibp.co.jp),サーバー・システムを設置しているデータセンターの場所も異なります。 システムの構成は,ユーザーからのアクセスを負荷分散装置(ロードバランサー)が受け付けて,配下の複数のWebサーバーに割り振るところまではITpro本体もMyITproも同じです(図1)。ただし,ITpro本体のシステムはWebサ
世間では PHP が、Perl が、と盛り上がっているようですが空気を読まずまたカーネルの話です。今回はページキャッシュについて。 /dev/shm に参照系DBを持っていくと I/O 負荷が激減した件(当たり前だけど) - drk7jp で、ディスク上にあったファイルを /dev/shm (tmpfs) に移したら I/O 待ちがなくなって負荷がさがった、ということなんですがおそらくこれは tmpfs に置く必要はないかなと思います。Linux (に限らず他の OS もそうですが) にはディスクの内容を一度読んだらそれはカーネルがキャッシュして、二度目以降はメモリから読む機構 = ページキャッシュがあります。tmpfs にデータを載せることができた、ということは物理メモリの容量に収まるだけのデータサイズかと思うので、放っておけば該当のファイルの内容すべてがメモリ上にキャッシュされて io
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く