MixiやFacebook、Wikipediaなど、大規模なサイトでmemcachedを利用する例が増えている。マイコミジャーナルのレポートでFacebookの事例紹介があるのだが、なんとmemcached用のサーバは805台で、メモリ容量は15TBにもなるそうだ。ディスクではなくメモリだけで15TB!である。アクティブユーザーの数は7000万人もいるそうだから、それを捌くとなるとハードウェアも凄い規模にならざるを得ないのである。
このように大規模サイトを支えるmemcachedであるが、そのプログラムの中身は一体いかなるものなのであろうか。memcachedはhttp://www.danga.com/memcachedでソースコードが配布されている。現時点での最新版は1.2.5である。ぜひダウンロードしてみてほしい。そしておもむろにファイルサイズを確認してみてほしい。するとあることに気づくだろう。
カスタム検索
2008-05-17
ひとことTips/DTrace
DTraceで何かをトレースするときはProbe名を限定してヒットするProbeを減らすべし!述語(predicates)による条件判定のみで解決しようとしてはいけない。さもなくば、トレースする対象のプログラムがスローダウンしてしまうことだろう。
努々次のようなDプログラムを書いてはならない。
努々次のようなDプログラムを書いてはならない。
2008-05-15
DTraceでMySQLを斬る!
オトコたるもの、30を過ぎれば健康に気をつけなければならぬ。健康と言えば医療であり、ハイテク医療と言えばCTスキャンに代表される非破壊検査である。そしてコンピュータの世界で非破壊検査といえば、現時点ではDTraceをおいて他にない。
DTraceについては以前の投稿(その1賢いdtraceの使い方、その2Dtrace on Leopard)でも紹介したが、今回はユーザー空間のプログラムを、DTraceを使って追跡する方法について紹介する。
DTraceについては以前の投稿(その1賢いdtraceの使い方、その2Dtrace on Leopard)でも紹介したが、今回はユーザー空間のプログラムを、DTraceを使って追跡する方法について紹介する。
2008-05-14
Apache mod_dbd設定編
以前にmod_dbdについてどういうものかを紹介したが、今回はMySQLを用いたmod_dbdの設定方法について説明する。
MySQL用のmod_dbdドライバを利用するにはApache httpd Serverをソースからビルドしなければならない。以前のバージョンのApache httpd ServerのソースコードにはMySQL用のmod_dbdドライバ(apr_dbd_mysql.c)が同梱されていなかったため、別途追加が必要であった。(ダウンロード元はここ。)その原因はライセンスの関係であり、Apache LicenseとGPL(MySQL)が非互換であったためである。確認した限りでは、Apache httpd Server 2.2.6にはapr_dbd_mysql.cは同梱されていない。2.2.8には同梱されていることを確認したので、この間に何らかの対処がなされたものと考えられる。ソースコードにコメントとしてLICENSEがApache License 2.0であるという記載があるが、以前のものはMySQLのGPL FOSS Exceptionが適用されていたのでこの辺の変更があったようである。
MySQL用のmod_dbdドライバを利用するにはApache httpd Serverをソースからビルドしなければならない。以前のバージョンのApache httpd ServerのソースコードにはMySQL用のmod_dbdドライバ(apr_dbd_mysql.c)が同梱されていなかったため、別途追加が必要であった。(ダウンロード元はここ。)その原因はライセンスの関係であり、Apache LicenseとGPL(MySQL)が非互換であったためである。確認した限りでは、Apache httpd Server 2.2.6にはapr_dbd_mysql.cは同梱されていない。2.2.8には同梱されていることを確認したので、この間に何らかの対処がなされたものと考えられる。ソースコードにコメントとしてLICENSEがApache License 2.0であるという記載があるが、以前のものはMySQLのGPL FOSS Exceptionが適用されていたのでこの辺の変更があったようである。
2008-05-12
猫も杓子も王子。
我が家のネットワーク事情には一つ大きな問題がある。それは、ネットワークに接続する機器が複数の部屋に散らばっているということだ。回線はNTTフレッツ光を利用しており、居間にルータを置いている。が、しかし俺が普段PCを利用したりhttp://www.mysqlpracticewiki.com/のサーバ(HFX Micro)を置いてある書斎的な部屋は廊下を隔てたところにある。
だったらワイヤレスで繋げばいいだろう?!と思われるかもしれない。確かにそうだ。居間にはワイヤレスのアクセスポイントを設置しており、Laptopは部屋を隔てていても問題なくワイヤレスでで接続できる。しかしSolaris 10を搭載したHFX Microはそうはいかない。HFX Microのネットワークインターフェイスは有線LAN(Planex UE-200TX)なのだ。廊下を隔てた部屋にイーサネットケーブルを敷設するわけにはいかない。(妻から猛反対を受けるだろう。)
だったらワイヤレスで繋げばいいだろう?!と思われるかもしれない。確かにそうだ。居間にはワイヤレスのアクセスポイントを設置しており、Laptopは部屋を隔てていても問題なくワイヤレスでで接続できる。しかしSolaris 10を搭載したHFX Microはそうはいかない。HFX Microのネットワークインターフェイスは有線LAN(Planex UE-200TX)なのだ。廊下を隔てた部屋にイーサネットケーブルを敷設するわけにはいかない。(妻から猛反対を受けるだろう。)
2008-05-10
もし自分がS.Jobsだったら
「iPod」が直面する市場変化--岐路に立つアップル
という記事がCNetに投稿された。自分もiPodユーザーであり、これまでそれなりに満足して使ってきた。iPodは優れた製品であり、iTunesおよびiTunesミュージックストアとの組み合わせは最高の使い勝手をもたらしてくれる。しかし市場は飽和しており、iPodにとって変わるライバルとして下位の市場から携帯電話が押し寄せてきていると言う。アップルにとっては超ピンチ!!である。
という記事がCNetに投稿された。自分もiPodユーザーであり、これまでそれなりに満足して使ってきた。iPodは優れた製品であり、iTunesおよびiTunesミュージックストアとの組み合わせは最高の使い勝手をもたらしてくれる。しかし市場は飽和しており、iPodにとって変わるライバルとして下位の市場から携帯電話が押し寄せてきていると言う。アップルにとっては超ピンチ!!である。
OpenSolaris 2008.05 Review
ITMediaのニュースでSun、「OpenSolaris OS 2008.05」を正式リリース——Amazon EC2でも提供というのを見たので、キタァァァーーーッ!!とばかりにさっそくインストールしてみた。こういうときに仮想マシンソフトがあると本当に助かる。(ちなみに俺が使ってるのはVMware Fusionだ。)
2008-05-06
メディアウィキのアクセス制限
先日立ち上げたMySQL関係のWikiの設定について。
俺の場合、とりあえず自分以外の人が更新を行うことを想定していない&されたくないので、以下の設定を施した。
俺の場合、とりあえず自分以外の人が更新を行うことを想定していない&されたくないので、以下の設定を施した。
- 全ページを編集できるのはログインしたユーザだけ
- 新しいユーザアカウントの作成は不可
2008-05-03
俺のマシンでメディアウィキが動くまで
俺の静音マシンはSolaris 10で稼働しているわけだが、ウェブサイトを立ち上げるという目的を果たすべくWikiをインストールした。Wikiクローンは星の数ほどあるが、オトコは黙って一番凄いヤツを使うべし!!となれば選択肢はウィキペディアで使われているメディアウィキしかないだろう。
MediaWikiのサイト
http://www.mediawiki.org/
MediaWikiのサイト
http://www.mediawiki.org/
2008-05-01
コンパイルメモ (pcre-7.6/Solaris x86_64/gcc/64ビット)
PCREのビルドに手こずったので防備録。
というエラーが出たらおもむろに
とファイルを編集するべし。そしてlgcc_sとなっている箇所をlgcc_s_amd64にしてmakeを再開する。これでコンパイルが通る。
shell> ./configure --build=x86_64-solaris && make : (snip) : ld: fatal: library -lgcc_s: not found ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple inclusion of file ld: fatal: File processing errors. No output written to .libs/pcrecpp_unittest collect2: ld returned 1 exit status gmake[1]: *** [pcrecpp_unittest] Error 1 gmake[1]: Leaving directory `/export/home/mikiya/src/pcre/pcre-7.6' gmake: *** [all] Error 2
というエラーが出たらおもむろに
shell> vi libpcrecpp.la
とファイルを編集するべし。そしてlgcc_sとなっている箇所をlgcc_s_amd64にしてmakeを再開する。これでコンパイルが通る。
登録:
投稿 (Atom)





