並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 53件

新着順 人気順

"Tokyo Tyrant"の検索結果1 - 40 件 / 53件

  • mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築

    連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「

      mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築
    • Tokyo TyrantによるHAハッシュDBサーバの構築 - mixi engineer blog

      来年のバレンタインデーに、正確には「2009-02-14T08:31:30+09:00」に、UNIX時間が「1234567890」を迎えることを発見してちょっと嬉しいmikioです。さて、今回は高効率ハッシュデータベースサーバTokyo Tyrantを用いてHAハッシュデータベースを構築する手法についてご紹介します。ちょっと難しいし非常に長い内容なのですが、最後までお付き合いくださいませ。 可用性と保全性 HA(High Availability:高可用性)とは、可用性(Availability)が高いことです。それでは説明になっていないので詳しく言い替えますと、システムに障害が起きにくくすることと、たとえ障害が起きたとしてもできるだけ迅速に復旧できるようにすることです。データベース系のシステムはユーザのデータを管理するという中核的役割を担うため、可用性を高めることは最も重要な課題となりま

        Tokyo TyrantによるHAハッシュDBサーバの構築 - mixi engineer blog
      • ミクシィのNoSQLデータベース「Tokyo Tyrant」をNetVibesが採用した理由

        カスタマイズ可能なポータルサービスを提供するフランスの「NetVibes」は、バックエンドデータベースとしてミクシィの平林幹雄氏が開発し、同社内でも利用されているNoSQLデータベースの「Tokyo Tyrant/Tokyo Cabinet」(以下Tokyo Tyrant)を採用しているそうです(追記:平林氏は7月末でミクシィを退職されるとのこと)。 なぜNetVibesはTokyo Tyrantを採用したのか、その理由がmyNoSQLの記事「Netvibes: A Large Scale Tokyo Tyrant Deployment Case Study」で紹介されています。NetVibesは、Hadoop、CouchDB、Tokyo Tyrant、File system、MySQLを評価した上でTokyo Tyrant/Tokyo Cabinetを採用したとのこと。 NetVibes

          ミクシィのNoSQLデータベース「Tokyo Tyrant」をNetVibesが採用した理由
        • ウノウラボ Unoh Labs: Tokyo Tyrantを使ってみて

          yamaokaです。 通常のデータベースとしてではなく、Key-Valueストアの選択肢として Tokyo Tyrantを少しずつ使ってみています。 実際に運用するにあたって、いくつか行ったことを書いておきます。 ちなみに、現在の構成は1台のみでの運用です。 マルチマスター構成やレプリケーションなどは行っていません。 PHPのクライアント Tokyo Tyrantを利用するのはPHPのアプリケーションからです。 最初はmemcachedプロトコルを利用して PECL::memcacheを使っていましたが、 データの大量更新を連続で行うとデータの取得が正常に行えなくなる現象が発生したため、 Net_TokyoTyrantを一部改変したものをライブラリとして利用しています。 パフォーマンスではPECL::memcacheに負けますが、クリティカルな処理をしていないこともあり、 今のところ問題に

          • Tokyo Tyrantによるリアルタイム検索 - mixi engineer blog

            どうぶつの森にハマって、たぬきち商店が早終いする関係で退勤時間もめっさ早くなったmikioです。今回は、Tokyo TyrantのキャッシュとLua拡張を使って超お手軽にリアルタイム検索システムを作る方法について述べます。 ユースケース 高い頻度で更新されるWeb上のテキストをリアルタイムに検索したいと思ったことはありませんか? mixi日記や各種のブログサービスやRSSリーダなどで扱う大量のコンテンツを安価かつ簡単に検索したいと思ったことはありませんか? 私は結構あります。要件を箇条書きすると以下のような感じでしょうか。 最新データの合計100万件くらいを検索できればよく、古いデータは自動的に消えてほしい。 ただし、更新はリアルタイムにして、書いた瞬間に検索結果に反映されてほしい。 サーバ1台で更新1000qpsおよび検索100qpsは処理したい。 再現率よりも精度とリアルタイム性を重視

              Tokyo Tyrantによるリアルタイム検索 - mixi engineer blog
            • Tokyo TyrantとテーブルDBでリアルタイム検索 - mixi engineer blog

              ドラクエは卒業して、もっと英語漬けをやっているmikioです。さて今回は、データベースサーバTokyo Tyrantとテーブルデータベースを使ってリアルタイム検索システムを構築する方法について語ります。 テーブルDBを分散させたい Tokyo TyrantでもテーブルDBがサポートされているわけですが、これはリアルタイム検索システムへの布石です。テーブルDBは任意のコラムにインデックスを張ることができ、時系列のコラムにインデックスを張ればその値によって古いコラムを効率的に消すことができます。チュートリアルの「Persistent but Expirable Cache」でもその方法を示しています。また、任意のコラムに分かち書きトークン方式もしくは文字N-gram方式で転置インデックスを張ることができます。これらを総合すると、最新のデータのみを保持してサイズと性能を一定に保ったインデックスを

                Tokyo TyrantとテーブルDBでリアルタイム検索 - mixi engineer blog
              • MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)

                森川です。 複数台のWebサーバでセッション管理をする場合、NFS・DB・Memcachedなんかが一般的ですが、今回はMemcachedじゃなくてレプリケーションができるRepcachedを使ってみよう!というお話です。 まずは、Repcachedの話です。といってもMemcachedにレプリケーション機能が追加されたものというものです。 RepcachedはKLab株式会社さんのクラブラボで公開されています。インストール方法などについては、リンク先のページを見ればわかると思います。 今回のエントリで重要なのは、 ・高速であること (Memcachedと遜色ない) ・レプリケーションができること (1台が落ちてもデータが失われない) ・Memcachedのクライアントが使えること(設定を変更する必要がない) ということです。 ただし、割り当てたメモリを超えてデータを保存した場合には、デー

                  MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)
                • Tokyo Tyrant 雑多なメモ (Tokyo Cabinet も可) : 管理人@Yoski

                  合宿で Tokyo Tyrant 部分、いろいろチューニングしたのでメモ。細かいのでその手の方以外はスルーの方向で。 対象は便利すぎる Tokyo Tyrant Table。 ・インデックス addCond()->addCond()->addCond() で絞り込んでいくとき、hint() で調べると最後に追加した Query から順に Index を使っていることがわかる。(5/3追記)⇒最後ではなく、2番目、一番目、と使う様子。 なので最初は大雑把な絞り込み(カテゴリとか)を行い、最後に詳細な絞り込み(ユーザーID)なんかをかけた方がパフォーマンスがあがる様子(手元のベンチマークでは上がった)。 ・数値インデックスに対する NUMGT や NUMGE 日付のタイムスタンプなどで、過去三日以内、というときに addCond(日付のとこ, 数値が~より大きい, 3日前) みたいな感じにする

                  • PHP: tokyo_tyrant - Manual

                    tokyo_tyrant はじめにインストール/設定要件インストール手順実行時設定リソース型定義済み定数例TokyoTyrant — TokyoTyrant クラスTokyoTyrant::add — 数値キーを加算するTokyoTyrant::connect — データベースに接続するTokyoTyrant::connectUri — データベースに接続するTokyoTyrant::__construct — 新しい TokyoTyrant オブジェクトを作成するTokyoTyrant::copy — データベースをコピーするTokyoTyrant::ext — リモートスクリプトを実行するTokyoTyrant::fwmKeys — 前方一致でマッチするキーを返すTokyoTyrant::get — 値を取得するTokyoTyrant::getIterator — イテレータを取得する

                    • Tokyo Tyrant + PHP

                      This document discusses using Tokyo Tyrant, a key-value database, with PHP. It introduces Tokyo Tyrant and some existing options for connecting it with PHP, including Net_TokyoTyrant, a pure PHP library, php-tokyo_tyrant, a PHP extension, and dbo_tokyo, a datasource for CakePHP. It then presents a simple benchmark comparing the performance of these different options.Read less

                        Tokyo Tyrant + PHP
                      • Tokyo TyrantによるHAなセッションストレージ 2 PHPから利用する篇 - Webと何かとその近所

                        PHPからセッションストレージとしてTokyo Tyrant (TT)を使用する場合、PHP用のTTクライアントライブラリが必要になるが、悲しい事に公式なライブラリはない。 幸い何種類かPHP用のライブラリが公開されているので、その中のどれかを使わせてもらおう。 Net_TokyoTyrant php-tokyo_tyrant tokyotyrant_php ざっと調べたところ上の3種類が見つかった。他にもあるらしいけど見つけられなかった。 tokyotyrant_phpは作者の方が実験レベルと言っている事から採用を見合わせ、Pure PHPのNet_TokyoTyrantとPECLのphp-tokyo_tyrantを調べてみた。どちらも現在ベータ版。 PHPのNet_TokyoTyrantの方が取り扱いは楽だしモテるらしいけど、PECLのphp-tokyo_tyrantの方がパフォーマン

                          Tokyo TyrantによるHAなセッションストレージ 2 PHPから利用する篇 - Webと何かとその近所
                        • 新しいTokyo Tyrantで遊んでみて挫折した記録 - Kentaro Kuribayashi's blog

                          追記: 2009-05-12 新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - antipopに続きを書きました。 mixi Engineers’ Blog » プラグインで独自ストレージを作ろうにて、 今回はTokyo Tyrant(TT)を使ってユーザ独自のストレージシステムを簡単に構築する方法について説明します。 プラグインで独自ストレージを作ろう - mixi Engineers' Blog なんて、Tokyo TyrantがCレベルでプラグインを作れるようになったとのことで、すげーっ!!1てんで、さっそく遊んでみようと思いました。 ところで、Tokyo Tyrantで、ある単位で分割した複数のデータベースを扱いたいってなことがあるんじゃないかと思うのですよね。たとえば、データ量が多いとかメンテナンス性を確保するためとかで、ユーザごとにDBを作りたいとか、ある期間

                            新しいTokyo Tyrantで遊んでみて挫折した記録 - Kentaro Kuribayashi's blog
                          • myfinder's blog: 人生に役立つかもしれないTokyo Tyrantについての知識

                            タイトルはホッテントリメーカーから頂戴しました。 お仕事でmemcachedとかその周辺プロダクトを利用することとなり、memcached、Tokyo Tyrant、Flareのパフォーマンスを測ってみたときに発覚したことを書いておきます。 (前提条件:memcached client for Javaからmemcachedとかその互換プロダクトを利用する場合) まずはパフォーマンスの手っ取り早い指標として処理速度があげられるので、上記3プロダクトをセットアップして、下記のようなテストプログラムをそそくさとこさえました。 public static void main(String[] args) { // memcacheのインスタンス取得 SockIOPool pool = SockIOPool.getInstance(); pool.setServers(new String[] {

                            • MySQL-Memcached or NOSQL Tokyo Tyrant - part 1

                              All to often people force themselves into using a database like MySQL with no thought into whether if its the best solution to there problem. Why?  Because their other applications use it, so why not the new application?  Over the past couple of months I have been doing a ton of work for clients who use their database like most people use memcached .  Lookup a row based on a key, update the dat

                                MySQL-Memcached or NOSQL Tokyo Tyrant - part 1
                              • Tokyo Tyrant: network interface of Tokyo Cabinet

                                BTW, do you know Kyoto Tycoon? Actually, it is more powerful and convenient server than Tokyo Tyrant. At this distance of time, Kyoto Tycoon surpasses Tokyo Tyrant in every aspects. I strongly recommend you to use Kyoto Tycoon. Overview Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple process

                                • Redis, Memcached, Tokyo Tyrant and MySQL comparision | ruturaj.net

                                  Redis, Memcached, Tokyo Tyrant and MySQL comparision I wanted to compare the following DBs, NoSQLs and caching solutions for speed and connections. Tested the following Redis Memcached Tokyo Tyrant / Tokyo Cabinet MySQL 5.1.40 (MyISAM) MySQL 5.1.40 (with Innodb Plugin 1.0.4), compiled into source of MySQL My test had the following criteria 2 client boxes All clients connecting to the server using

                                  • Tokyo Cabinet(Tokyo Tyrant)を使う理由 : straighten

                                    Posted on | 12 月 9, 2008 | なぜ最近、Tokyo Cabinet、Tokyo Tyrantと言い続けているのか?と言うと、memcacheの代替として使えないかなーと思っているからです。ここ最近、cakePHPもそうなんですが、セッションストレージとしてmemcacheを使うケースが多くなってきている気がしています。自分自身、仕事で作るアプリケーションの一部にはセッションストレージでは無いのですが、memcacheをストレージとして利用しているケースがいくつかあります。 それらの運用をしていく中で、気がついたのは「memcache 落ちたら消える さようなら」と言う事です。いくらレポリケーションしていたとしても、落ちたら消えます。きれいさっぱり。 仮にログインセッションをmemcacheにストレージしていた場合、「memcache 落ちたらログアウト さような

                                    • myfinder's blog: 今日から使える実践的Tokyo Tyrantのrpm講座

                                      タイトルはまたもホッテントリメーカーから。 先日Tokyo Tyrantについていろいろ誤解して書いてしまったので罪滅ぼし的に、 「CentOS5.2でTokyo Tyrantのrpmを作ってインストールして運用できる状態にするまで」を書いてみる。 「rpmがないと使えない〜」というrpm厨の方もこれで安心。 今回は1サーバ1インスタンスでセットアップする想定です。 レプリケーションなどはまた別の機会に。 一応自分のとこでは動きましたが、エントリの内容は無保証です。自己責任でお願いします。 手順は大まかに言うと↓のような感じ。 Tokyo CabinetとTokyo Tyrantのソースアーカイブを手に入れるrpmを作るTokyo Tyrantが依存している別のパッケージをインストールするTokyo TyrantをインストールするTokyo Tyrantをchkconfigに登録するlog

                                      • Tokyo TyrantによるHAなセッションストレージ 1 検討篇 - Webと何かとその近所

                                        2年前にPHPのセッション管理に使う箱選び 4で、セッションストレージとしてはMySQLのInnoDBを使用するのが良いと結論付けた。 当時は主にセッション数が増えていった場合のパフォーマンスについて調べて結論を出したものの、実際にMySQLをセッションストレージとして使用すると、さらに負荷が高くなった場合のパフォーマンスや可用性の部分にちらほら課題が見えてくる。 つまり、大規模なセッションストレージとして使うにはMySQLは高機能過ぎて重く、さらに冗長構成になっていても障害発生時の対応は手動が基本になってしまう。(自動化できないわけではないと思う) MySQL :: MySQL 5.6 リファレンスマニュアル :: 17.3.6 フェイルオーバー中にマスターを切り替える セッションデータの集中管理をやめる*1というのも手だけれど、それはそれで大変なので別のセッションストレージにする方向で

                                          Tokyo TyrantによるHAなセッションストレージ 1 検討篇 - Webと何かとその近所
                                        • 新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - Kentaro Kuribayashi's blog

                                          Tokyo Tyrantに追加された新機能(「mixi Engineers’ Blog » プラグインで独自ストレージを作ろう」)について「新しいTokyo Tyrantで遊んでみて挫折した記録」というエントリを書いた後、Tokyoシリーズ作者の平林さんのコメントがあったり(ありがとうございます!!1)、また、しょうもない見落しを修正したりしてとりあえず動くようになりました。こんな感じの仕様です。 ストレージにはLux IOを利用(社内で流行っていたので) キーはdbname:keyという感じで、たとえばget antipop:fooとかすると、カレントディレクトリ(決め打ち)のantipopというDBのfooというキーのvalueをgetするという感じ。DBがなければ新規作成。また、frenchpop:fooとすると、同様にfrenchpopというDBのfooというキーのvalueをge

                                            新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - Kentaro Kuribayashi's blog
                                          • MongoDB,Tokyo Tyrant, CouchDBのベンチマーク記事 - gom68の日記

                                            maihaさんの日記を見て、MongoDBのことを思い出したので関連しそうな記事の紹介だけでも。 ヽ( ・∀・)ノくまくまー(2009-07-02) 以下の記事で、3種のkey-valueストレージの性能比較を行っている。 Evaluating key-value and document stores for short read data « Blue Collar Bioinformatics 280万件のレコードを読み込ませ、その初期読み込み時間、レコードの読み込み時間、ファイルサイズの比較を行っている。 Tokyo Tyrant : 初期の読み込み時間が遅い CouchDB: レコード読み込み時間が遅い MongoDB: ファイルサイズが大きくなる となったそうな。 ただ、Pythonのライブラリを経由した結果であること、コメントで様々なツッコミが入っているなど、どの程度信頼性の

                                              MongoDB,Tokyo Tyrant, CouchDBのベンチマーク記事 - gom68の日記
                                            • Tokyo TyrantをDBと比較してみる - ぱろっと・すたじお

                                              あらかじめ書いておくと、最終的にごく当たり前の結論しか出てきませんΣ(・ω・ノ)ノ ただ、その「当たり前の結論」を、自分で身をもって体感しておくのは、 意味があるとは思います 例によって前置きから入るわけですが、 昨年末あたりから新しいシステム開発の話が立ち上がりまして、 先月あたりからアーキテクチャの設計をしておりました ちょいと特殊なWebシステムなのもあり、 分散システム的な凝ったのを考えていたのですが、 いくつかピースが欠けていたのです そんなとき、本屋で見たのがこれです Software Design (ソフトウェア デザイン) 2010年 02月号 [雑誌] 出版社/メーカー: 技術評論社発売日: 2010/01/18メディア: 雑誌購入: 4人 クリック: 75回この商品を含むブログ (9件) を見る この本で「Key-Value Store (KVS)」の特集をやっておりま

                                                Tokyo TyrantをDBと比較してみる - ぱろっと・すたじお
                                              • 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)
                                                • 楽天ROMA/memcached/Tokyo Tyrant最速テスト - なぜか数学者にはワイン好きが多い

                                                  今回は冗長性等々は気にせずに,ひたすら速度のみ比較します. なのでクライアントプログラムはc++で書きます.ほとんどCとしか使ってないですが. プログラムはこんな感じ.30%の確率で書き込みが発生し,70%の確率で読み込みが発生する,これを10万回繰り返すという単純なもの. #import <iostream> #include <time.h> #include <libmemcached/memcached.h> #include <SFMT.c> using namespace std; #define memcached_error(k,memc,rc)\ {fprintf(stderr, "test: key=%s: memcache error %s",\ (k), memcached_strerror((memc), (rc)));\ if (memc->cached_err

                                                    楽天ROMA/memcached/Tokyo Tyrant最速テスト - なぜか数学者にはワイン好きが多い
                                                  • MySQL-Memcached or NOSQL Tokyo Tyrant - part 3

                                                    This is part 3 of our series.  In part 1 we talked about boosting performance with memcached on top of MySQL, in Part 2 we talked about running 100% outside the data with memcached, and now in Part 3 we are going to look at a possible solution to free you from the database.  The solution I am going to discuss here is Tokyo Cabinet and Tyrant. I am not going to give you a primer  or Tutorial on

                                                      MySQL-Memcached or NOSQL Tokyo Tyrant - part 3
                                                    • Tokyo CabinetとTokyo Tyrant

                                                      Tokyo CabinetとTokyo Tyrantについて、社内勉強会のために作ったスライドをSlideShareに公開しました。(スライドはKeynote形式でダウンロード可能です)その解説と補足をしておきます。勉強会の目的は、Tokyo CabinetとTokyo Tyrantを大づかみに理解することと、実際にデータ操作をしてみることでした。 http://www.slideshare.net/akirakoyasu/tokyo-cabinet-tokyo-tyrant-10468880 まずはTokyo Cabinet/Tokyo Tyrantとは何なのか、端的に言えば、 Tokyo Cabinet ファイルDB Tokyo Tyrant Tokyo Cabinetを内包したサーバ ということになります。(スライド2-8) Tokyo Cabinet(以下TC)はいわゆるkey-v

                                                      • Linux/Tokyo Tyrantをインストール - たむちょんの脳内図鑑

                                                        Tokyo Tyrantをインストールします。 † バージョンが頻繁に更新される事を想定して、直接/usr/local等にインストールせずに バージョン番号を掘ってからシンボリックリンクを張ることにします。 ↑ Tokyo Cabinetをインストール † wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.2.7.tar.gz tar zxvf tokyocabinet-1.2.7.tar.gz cd tokyocabinet-1.2.7 ./configure --prefix=/home/yuna/service make make install パスを通します。 export PATH=/home/yuna/service/bin:$PATH export LD_LIBRARY_PATH=/home/yuna/servi

                                                        • PECL :: Package :: tokyo_tyrant

                                                          This package is not maintained, if you would like to take over please go to this page.

                                                          • Tokyo TyrantでテーブルDBを指定するとtcrtestがエラーになる。 - こせきの技術日記

                                                            Tokyo Cabinet / Tokyo Tyrant を使ってみているのだが、テーブルDBにTTのRuby binding経由で読み書きを繰り返していると、 エラーコードがずっとEMISC(9999)のままになる。 結果がたまに空で返ってくる。 再接続すると正しい結果が返る。 この時のエラーコードは大抵EMISCだがESUCCESSの場合も。 という問題が発生して困っている。原因を絞り込むためtcrtestを試したら、同じようにmiscエラーが出た。 ttservctlをテーブルDBに修正してttserverを起動。 tcrtest misc 127.0.0.1 1000 Linux(32bit) の場合、rnum=1000で2回に1回くらいmiscエラーが出る。 Mac OSX(64bit) の場合、rnum>4095でmiscエラーが出る。 自力で原因を調べると3年くらいかかりそう

                                                              Tokyo TyrantでテーブルDBを指定するとtcrtestがエラーになる。 - こせきの技術日記
                                                            • Tokyo Tyrant tuning parameters

                                                              We've been working with Tokyo Tyrant for some large scale key-value lookups and the performance has been very nice, but has degraded over time. I've been poking around the various options to try to improve the performance and although there is documentation of various options, the pages are hard to read and figure out what's what. So I thought I'd collect them here for reference. I'll describe the

                                                              • memcached VS Tokyo Tyrant - なぜか数学者にはワイン好きが多い

                                                                フリーのデータベースソフトのベンチマークの,追加実験を一件加えました. シンプルなクエリに対する高速なDBは - なぜか数学者にはワイン好きが多い 前回の結果に,ネットワークかつファイルベースのTokyo Tyrantをベンチに加えました. moved アクセスにネットワークを通す場合(ハブ経由で他のマシンにアクセスに行く場合) <?php dl('memcache.so'); error_reporting(E_ALL); define("MAX_LINE",100000); $memcache->connect('local-db-machine.jp', 1978); $start_time = time(); for($i=0;$i<MAX_LINE;++$i) { $key = sprintf("%010d",$i); $obj = new stdClass; $obj->str

                                                                  memcached VS Tokyo Tyrant - なぜか数学者にはワイン好きが多い
                                                                • Tokyo TyrantによるHAなセッションストレージ 3 デュアルマスタ篇 - Webと何かとその近所

                                                                  デュアルマスタ構成にする基本的な方法についてはチュートリアルにもあるので省略。 期限切れレコードの削除はどちらで行うか デュアルマスタにした場合、期限切れレコードの削除を行うttexpire.luaはどこで動かすのが良いか。 セッションデータの一貫性を保つためアクティブ-スタンバイ構成を想定しているので、アクティブ側でのみ動かすのが正統な選択になると思う。 しかし、そうするとスタンバイに切り替わった後にexpireの実行が行われなくなってしまう。今のところTokyo Tyrant(TT)は起動中にextpcオプションに相当する機能を操作する事はできないようだ。 解決策を2つ考えてみた アクティブとスタンバイの両方でexpireを実行する TT起動中にexpireの実行/停止を行えるようにする アクティブとスタンバイの両方でexpireを実行する 両マスタでexpireを実行して問題なければ

                                                                    Tokyo TyrantによるHAなセッションストレージ 3 デュアルマスタ篇 - Webと何かとその近所
                                                                  • Tokyo Tyrant + Lua Extensionで作るクエリキャッシュサーバ

                                                                    1. Tokyo Tyrant+Lua で作る クエリキャッシュサーバ KLab 株式会社 研究開発部 鈴木 信太郎 <suzuki-s@klab.jp> 2. 自己紹介 名前:鈴木 信太郎 入社3ヶ月目 ソーシャルアプリを作っています 高負荷対策   ->ストレージを変えよう(?) 言語 Perl, PHP, Ruby 最近の興味 テレビ(BRAVIA)を買った ->アプリキャスト使ってみたい

                                                                      Tokyo Tyrant + Lua Extensionで作るクエリキャッシュサーバ
                                                                    • tokyo tyrantでPHPのセッションサーバやろうとおもって失敗した話 - cocoiti's diary

                                                                      PHPには、memcacheをセッションハンドラにする機能があります。 shimookaさんが簡単にご紹介されています 一方Tokyo Cabinet(以下TC)をネットワーク越しで使うTokyo Tyrant(以下TT)は、memcache互換のインターフェースがあります。 「・・・・もしかして、Tokyo Cabinetをストレージにできるんじゃね?そしたら永続化できるんじゃね」とおもったのが夕方。 仕事がおわってさっきためしてみました。 TCとTTはとりあえず、RPMを作ったんですが、ちょっと煩雑なので、id:perezvonのTTはじめましたの記事のコンパイル方法参考にするといいかとおもいます。 TTのサーバを立ち上げて、(TTの1.0だとttservctlというスクリプトがありました。) ttservctl start php側の設定で、 php.iniに session.sav

                                                                        tokyo tyrantでPHPのセッションサーバやろうとおもって失敗した話 - cocoiti's diary
                                                                      • straighten » Tokyo Cabinet(Tokyo Tyrant)を使う理由

                                                                        なぜ最近、Tokyo Cabinet、Tokyo Tyrantと言い続けているのか?と言うと、memcacheの代替として使えないかなーと思っているからです。ここ最近、cakePHPもそうなんですが、セッションストレージとしてmemcacheを使うケースが多くなってきている気がしています。自分自身、仕事で作るアプリケーションの一部にはセッションストレージでは無いのですが、memcacheをストレージとして利用しているケースがいくつかあります。 それらの運用をしていく中で、気がついたのは「memcache 落ちたら消える さようなら」と言う事です。いくらレポリケーションしていたとしても、落ちたら消えます。きれいさっぱり。 仮にログインセッションをmemcacheにストレージしていた場合、「memcache 落ちたらログアウト さようなら(字余り)」と言う事になりかねない訳です。つまり、mem

                                                                        • And the winner is: MySQL or Memcached or Tokyo Tyrant? - High Scalability -

                                                                          Matt, from the ever excellent MySQL Performance Blog, decided to run a test using a simple scenario drawn from his client experience in the gaming space. The scenario: read a row based on a primary key, update the row, write it to disk, and use the row to lookup another row. Matt ran three different tests explained in a series of three different articles: MySQL and MySQL + Memcached, Memcached Onl

                                                                            And the winner is: MySQL or Memcached or Tokyo Tyrant? - High Scalability -
                                                                          • 最速KVS研究第一弾(memcached/Tokyo Tyrant/Kyoto Tycoon) - なぜか数学者にはワイン好きが多い

                                                                            TokyoとKyotoについては,オンメモリ・ディスクベースの両方を測定しましたが,memchacedが最速でした.強し! memcachedとTokyo Tyrantについては,いわゆるmemcachedプロトコルが使えるので,memcachedプロトコルでsetとgetをしました. プログラムはやはりC言語バインディングが最速だろうということで,こんな感じです. #include <libmemcached/memcached.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <sys/types.h> #include <md5.h> #include <omp.h> void set_key_val(MD5_CTX *con, int seed, char

                                                                              最速KVS研究第一弾(memcached/Tokyo Tyrant/Kyoto Tycoon) - なぜか数学者にはワイン好きが多い
                                                                            • Tokyo Tyrant ulog / update log management

                                                                              I'm testing Tokyo Tyrant in a master-master setup and have found the ulog grows out of control and locks up the disk. At first I found the -ulim option useful and limited the logfile size, however it simply rolls over to a new log, leaving the old ones to clutter up the partition. I suppose I'll write a shell script that will delete ulogs older than X, once I find out how far back Tokyo Tyrant nee

                                                                                Tokyo Tyrant ulog / update log management
                                                                              • php-tokyo tyrant で tch だとtcrdbtblgenuid関数が失敗して Segmentation faultする件 - お前の血は何色だ!! 4

                                                                                php-tokyo tyrant を利用して、ディフォルトのままでsession.save_handler = tokyo_tyrant ととすると、Segmentation fault がおきる問題があったので書いてみる。 環境構築 tokyo tyrant をインストールする インストールの前に、checkinstallというソフトを利用すると、パッケージを自動で作ってくれて便利です。 まずはこれを導入します。 checkinstallでぐぐってrpm見つけてきてねw //centso系 or apt-get install checkinstall //debian系 //まずtokyo cabinetをインスコします。 cd wget http://1978th.net/tokyocabinet/tokyocabinet-1.4.43.tar.gz tar zxvf tokyoca

                                                                                  php-tokyo tyrant で tch だとtcrdbtblgenuid関数が失敗して Segmentation faultする件 - お前の血は何色だ!! 4
                                                                                • Nagios に自作プラグイン (Tokyo Tyrant 稼働確認) を追加 - プレイヤーズ・ハイ

                                                                                  とあるサービスで Key-Value Store として Tokyo Tyrant を使っています。 Tokyo Tyrant くん、パフォーマンスは素晴らしいのですが、過去に一度、プロセスは上がっているのに読み書きができなくなったことがあるらしく、Nagios 自作プラグインで稼働監視を行うことにしました。 仕組みは簡単で、一定間隔で、監視用のキーに一意の値を書いて読むだけです。 ちなみに tcrmgr コマンドにはタイムアウトを指定するオプションがないのですが、そこは Nagios さんによしなにやっていただくことになっています。 監視用シェルスクリプト monitoring_ttserver.sh #!/bin/sh # # ---------------------------------------------------------------------- # Variabl

                                                                                    Nagios に自作プラグイン (Tokyo Tyrant 稼働確認) を追加 - プレイヤーズ・ハイ