タグ

*memcachedに関するyamadarのブックマーク (19)

  • ElastiCacheはMemcachedとRedisのどっちを選ぶ? | DevelopersIO

    こんにちは(U・ω・U) AWS事業部の深澤です。 AWSにはElastiCacheと呼ばれるマネージド型のキャッシュストアサービスがあります。利用を始めようと色々調査すると「RedisとMemcached、どっち使ったらいいの?」というのは結構悩みがちなポイントかと思います。今回は2つの特徴を比べてみて、どちらのサービスを使うか一緒に考えてみましょう! 可用性 ElastiCacheでは最小の構成単位を「ノード」と呼びます。EC2で言うところのインスタンスに相当するものです。このノードを組み合わせた集合体をクラスターと呼びます。ノードに直接接続してしまうと、もしそのノードに問題が発生した場合には新しいノードのアドレス(エンドポイント)をアプリケーション側で書き換えなくてはなりませんし、サービスの成長と共に負荷が上がってくるとノードの台数を増やして負荷やメモリ(キャッシュ)を分散したりとい

    ElastiCacheはMemcachedとRedisのどっちを選ぶ? | DevelopersIO
  • Amazon ElastiCache - Qiita

    Amazon ElastiCacheとは メインメモリキャッシュのデプロイ、運用、スケーリングをクラウド内で簡単に実行できるウェブサービスです。 このサービスは、低速のディスクベースのデータベースに完全に依存せずに、高速の管理されたメモリ内のキャッシュから情報を取得できるようにすることで、ウェブアプリケーションのパフォーマンスを向上させます。 参考:AWS 基礎入門チュートリアル – ElastiCache 構築・設定編 サポートしているエンジン Amazon ElastiCache は、次の 2 つのオープンソースインメモリキャッシュエンジンをサポートしています。 シンプルに利用する場合はMemcachedを利用するが、それ以外はRedisを利用する場合が多い。 Redis Memcached

    Amazon ElastiCache - Qiita
  • Webアプリケーションのキャッシュ戦略とそのパターン / Pattern and Strategy of Web Application Caching

    YAPC::Kansai OSAKA 2017の資料です

    Webアプリケーションのキャッシュ戦略とそのパターン / Pattern and Strategy of Web Application Caching
    yamadar
    yamadar 2017/03/04
    Brokerパターン ー> 自分が最初にやった良くある奴。Pool & Flush は更新データをメモリに一時保管するやつ。キャッシュする前にやる事あるだろってのは同感。
  • FuelPHPのセッションにはまる

    FuelPHPを利用して、ちょっとしたアプリを作ろうとした際にセッション(memcached)ではまりました。 今回の環境や構成は下記のとおりです。 構成・環境 nginx + php-fpmphp 5.4memcached 1.4(セッションで利用)FuelPHP 1.6 処理概要 1~N個の値を設定しPOSTする設定された値をセッションに入れ、確認画面を表示するセッションから設定された値を取り出し、DBへ入れる 実際の処理は微妙に違いますが、やろうとしていることは上記のような感じです。 1. については下記のような感じです。 View ... // 下記のが、1~N個となる。 ... 2. についても下記のような処理で行けると考えていました。 Controller(A) [php] … Session::set(‘values’, Input::post(‘values’)); … [

    FuelPHPのセッションにはまる
    yamadar
    yamadar 2013/12/18
    セッションが cookie の場合に値が多くなりすぎるとセッションに値が入らないことがある
  • memcachedでパフォーマンス向上 - TRAJECTORY.JP -

    memcachedは汎用のメモリキャッシュシステム。 データとオブジェクトをメモリ内にキャッシュすることで、DBから読み出しを行う回数を減少させ、DBを用いたWebサイトを高速化するためによく用いられています。 WindowsとUnix/Linuxでインストール方法が異なるので別ページにて解説しております。 Webサイトの運営者としては、以下に早くユーザーにページを見せるのかということを考えていると思います。 そんな運営者の方は、memcachedを使用することをお勧めします! DBにアクセスするよりも、メモリからデータを取ってくる方が当然速いので。

    yamadar
    yamadar 2011/10/25
    起動時引数について。最大メモリ使用量を決められるのは便利
  • memcached で新しくキャッシュを保存出来ない?! : にぽたん研究所

    そう言えば、今日、 memcachedで新しくキャッシュを保存できないの刑 を読んで愕然とした。 なんか、キャッシュやセッションでmemcachedをつかっているのだけど、環境によって新しくキャッシュがつくれなくなってしまって、はまった。 規模から考えると極端に使用メモリサイズが少ない設定になっているサーバがあったので、ちょっと使用領域増やして再起動の術をしてみたら、とりあえず直った。 ドキュメント読むのがおっくうなので、ローカルな環境でためしてみたら、memcachedでのキャッシュは -m で設定したサイズになっちゃうと、新しく作れなくなっちゃう感じ。 えぇっ!!マジっすかぁ?! 一杯になったときは、古い順から消えていくと勝手に思っていた。。 いや、まったくその通りだと思ってました…。 ってことで、どうも疑い深い性格なので、手元の Darwin 環境で試してみた。 % memcache

    memcached で新しくキャッシュを保存出来ない?! : にぽたん研究所
    yamadar
    yamadar 2011/09/13
    -mオプションの値を超えるサイズを一気にsetしない限り、古い順番から消えていく。「expires 未設定の cache は作らないようにしてたりします。」
  • perl - リスト代入vsスケーラー代入 : 404 Blog Not Found

    2007年05月04日00:00 カテゴリLightweight Languages perl - リスト代入vsスケーラー代入 これを見て、一般的な場合はどうだったかが気になった。 TokuLog 改め Perl を極めて結婚するブログ - アホにもわかる memcached の get_multi がなぜ速いかについての解説 $m->get_multi("a", "b", "c") すると、{a => $m->get("a"), b => $m->get("b"), c => $m->get("c")} と同じ結果が得られるんだけど、get_multi の方が圧倒的に速い。それで、ベンチマークしてみたのが、以下の結果。scalarでもlistでも結果を返す関数に対して、一つ一つ代入するのと、リストで一度に代入するのとどちらが速いかを比較してみた。ここで使った関数は、sub{ wanta

    perl - リスト代入vsスケーラー代入 : 404 Blog Not Found
    yamadar
    yamadar 2011/09/13
    「言葉を慎みたれたし」、同意。
  • MySQL のチューニングについて考えてみた

    This document summarizes the results of a survey of science faculty and graduate students at York University about their use of and preferences for e-books. It found that most were aware of the university's e-book collections but many had not used them. Popular e-book platforms included Springer and ScienceDirect. Respondents desired features like full-text searching, downloading, and printing. Pr

    MySQL のチューニングについて考えてみた
    yamadar
    yamadar 2011/09/13
    get_multi して、取れない分を in でMySQLから取得して set_multi する。
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    yamadar
    yamadar 2011/09/13
    次の記事も合わせて読むと、基本的に get_multi は入れるキーの数が多いほど遅くなる。(そりゃそうだ) けど、分散してる場合、処理を並列してくれるので、その分だけ速い。
  • liris.org - このウェブサイトは販売用です! - liris リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    liris.org - このウェブサイトは販売用です! - liris リソースおよび情報
    yamadar
    yamadar 2011/09/13
    更新系はMongoDBが僅かに速い。参照系はmemcachedが速い。
  • 第1回 memcachedの基本 | gihyo.jp

    株式会社ミクシィ 開発部 システム運用グループの長野です。普段はミクシィのアプリケーション運用を担当しております。今回から数回にわたり、最近Webアプリケーションのスケーラビリティの分野で話題になっているmemcachedについて、弊社開発部 研究開発グループの前坂とともに、使い方や内部構造、運用について解説させて頂きます。 memcachedとは memcachedは、LiveJournalを運営していたDanga Interactive社で、Brad Fitzpatrick氏が中心となって開発されたソフトウェアです。現在ではmixiやはてな、Facebook、Vox、LiveJournalなど、さまざまなサービスでWebアプリケーションのスケーラビリティを向上させる重要な要素になっています。 多くのWebアプリケーションは、RDBMSにデータを格納し、アプリケーションサーバでそのデータ

    第1回 memcachedの基本 | gihyo.jp
  • memcached - Wikipedia

    もともと Danga Interactive によって LiveJournal サービスのために開発されたが、現在は多数のサイトで利用されている。memcached は、データとオブジェクトをメモリ内にキャッシュすることでデータベースから読み出しを行う回数を減少させ、データベースを用いた Web サイトを高速化するために良く用いられる。memcachedはパーミッシブ・ライセンスであるBSDライセンスに従い頒布されている[2]。 memcached は適切に設定されたファイアウォールを用いるサーバ上で使用するか、そうでない場合はSASL認証のオプション付きでコンパイルしたものを使用できる(1.4.3以降)。既定では、memcached はポート 11211 番を使用する。また、libevent を使用している。 memcached の API は、複数のマシン上に分散された巨大なハッシュテ

  • memcached を使ったアプリケーションの設計について - blog.nomadscafe.jp

    クライアントからmemcachedを利用する際の、ベストプラクティスは以前書いているので、その前段階でmemcachedを含めたWebアプリケーションのアーキテクチャ(と一部クライアントの話)について今の個人的な考えをまとめてみます。Kyoto Tycoonを使ったキャッシュサーバでも基は同じだと思います 1) 使わない memcachedをアプリケーションに組み込むことで、プログラムがどうしても複雑になりがちです。データの削除や更新の際にキャッシュの更新を忘れると多くの問題が発生します。例えばユーザがニックネームやプロフィール写真を更新したのに画面上変わらないなどの現象が起こると、ユーザに対して不快な思いをさせてしまうでしょう。またデータベースが非同期のレプリケーションを行っている場合、masterに対してデータの変更をかけ、更新が反映される前にslaveから読み込んでしまい、キャッシ

    yamadar
    yamadar 2011/06/03
    1.使わない、2.消えては困るキャッシュを置かない、3.リスクヘッジのためにmemcachedサーバーはスケールアウトを行う
  • [ステップアップ! CakePHP] キャッシュに memcached を使う | バシャログ。

    早くも蚊に刺されました nakamura です。きっとおいしそうなんでしょうねぇ。分かる分かる。 今日は CakePHP 連載の 7 回目!CakePHP のキャッシュをファイルではなく memcached に保存する方法を紹介します。 memcached って? データやオブジェクトをメモリ上に保持する為のキャッシュサーバです。ファイルにキャッシュするよりも高速に動作し、PHP, Java, Perl 等を始めとするプログラミング言語や MySQL, PostgreSQL といった RDBMS など memcached を利用可能なクライアントアプリケーションはとても多岐に渡ります。 この辺りが詳しく解説してくれています。 memcached - Wikipedia 特集:memcachedを知り尽くす|gihyo.jp … 技術評論社 memcached をインストールする 今回は C

    [ステップアップ! CakePHP] キャッシュに memcached を使う | バシャログ。
  • 第4回 memcachedの分散アルゴリズム | gihyo.jp

    株式会社ミクシィの長野です。第2回、第3回と前坂がmemcachedの内部について紹介しました。今回は内部構造から離れて、memcachedの分散についての紹介をいたします。 memcachedの分散 連載の1回目に紹介しましたが、memcachedは「分散」キャッシュサーバと言われていますが、サーバ側には「分散」の機能は備わっていません。サーバ側には当連載の第2回、第3回で前坂が紹介したメモリストレージの機能のみが組み込まれており、非常にシンプルな実装となっています。では、memcachedの分散はどのように実現しているのかと言うと、すべてクライアントライブラリによって実現されます。この分散方法はmemcachedの大きな特徴です。 memcachedの分散とは ここまで数度「分散」という言葉を用いてきましたが、あまり詳しく触れてきませんでした。ここでは各クライアントの実装に共通する大ま

    第4回 memcachedの分散アルゴリズム | gihyo.jp
  • mixi大規模障害について 解明編 - mixi engineer blog

    こんにちは、システム技術部たんぽぽGの森です。 先日のmixi大規模障害の原因となったmemcachedの不具合の詳細な解明ができました。 再来週まで発表を見合わせようと思ったのですが、早くお伝えしたほうがいいと思いましたので公開発表致します。 memcachedとlibevent memcachedはlibeventというライブラリを使用してクライアントからの要求(接続、コマンド送信)を処理しています。 libeventを使用するにはevent_baseという構造体を用います。 main threadはmain_baseを使用します。 static struct event_base *main_base; ... int main (int argc, char **argv) { ... main_base = event_init(); ... /* enter the ev

    mixi大規模障害について 解明編 - mixi engineer blog
  • 第2回 memcachedのメモリストレージを理解する | gihyo.jp

    株式会社ミクシィ 研究開発グループの前坂です。前回の記事でmemcachedは分散に長けた高速なキャッシュサーバであることが紹介されました。今回はmemcachedの内部構造がどう実装されているのか、そしてメモリがどう管理されているのかをご紹介します。また、memcachedの内部構造の事情による弱点も紹介します。 メモリを整理して再利用するSlab Allocationメカニズム 昨今のmemcachedはデフォルトでSlab Allocatorというメカニズムを使ってメモリの確保・管理を行っています。このメカニズムが登場する以前のメモリ確保の戦略は、単純にすべてのレコードに対してmallocとfreeを行うといったものでした。しがしながら、このアプローチではメモリにフラグメンテーション(断片化)を発生させてしまい、OSのメモリマネージャに負荷をかけ、最悪の場合だとmemcachedのプ

    第2回 memcachedのメモリストレージを理解する | gihyo.jp
    yamadar
    yamadar 2010/08/17
    slabが空いてないと、データがsetできなくなる。
  • Memcacheはやっぱりすごかった

    森川です。恥ずかしながらmemcacheを使うくらいならtmpfsとかMySQLのHEAPテーブルを使えばいいじゃん、などと思っていたのですが、今回簡単なベンチマークをやってみて心を入れ替えました。 はい、memcacheは偉大です。すごく速いです。 テストとして10万件のデータをINSERTして、そこから該当するデータを10万件取得します。まずはmemcacheを使用した場合です。 今回はdagレポジトリのRPM版memcachedとソースからインストールしたPHP 5.2.3を使用してpecl installでmemcacheエクステンションをインストールしています。memcachedの設定はデフォルトのままです。 # yum install memcached # pecl install memcache # vi /usr/local/lib/php.ini extension=

    Memcacheはやっぱりすごかった
  • CakePHPとnginx+memcachedで手軽にキャッシュを活用する

    nginx+memcachedがめちゃ気になったので試してみました。 元ネタは下記です。 A 53,900% speedup: Nginx, Drupal, and Memcache bring concurrency up and page load time way down | TechnoSophos nginxをリバースプロキシに利用した構成で、バックエンドの出力をmemcachedにキャッシュしておけば、次回リクエストではnginxがそのキャッシュを読み取ってそのまま出力してくれます。 つまりバックエンドにリクエストを経由させずにnginxから即出力するのでかなりの高速化が見込めるという優れものです。 リンク先ではバックエンドにDrupalを利用していたのですが、ここではCakePHPを利用してみます。 1. 全体構成 リバースプロキシにnginx(Port: 80)を使い、バ

  • 1