タグ

cacheに関するy_uukiのブックマーク (18)

  • Evolution of Application Data Caching : From RAM to SSD

    In 2013, we introduced EVCache a distributed in-memory caching solution based on memcached that offers low-latency, high-reliability caching and storage. It is well integrated with AWS and EC2, a Netflix OSS project, and in many occasions it is termed as “the hidden microservice”. Since then, EVCache has become a fundamental tier-0 service storing petabytes of data and hundred of billions of items

    Evolution of Application Data Caching : From RAM to SSD
    y_uuki
    y_uuki 2018/08/05
  • 更新頻度の多いデータのキャッシュ : DSAS開発者の部屋

    @methane です。 ISUCON 7 戦で最大のスコアアップできたポイントが、 status と呼ばれる重い計算の結果となるJSONのキャッシュでした。 近年のISUCONによくある、「更新が成功したら以降のレスポンスにはその更新が反映される必要がある」(以降は「即時反映」と呼びます)タイプの問題だったのですが、今回のように更新頻度の高くかつ即時反映が求められるデータをキャッシュする方法について、より一般的に解説しておきたいと思います。 即時反映が不要な場合 まずは基として、即時反映が不要な場合のキャッシュ方法からおさらいします。この場合、一番良く使われるのは参照時に計算した結果を Memcached などにキャッシュし、時間で expire する方法です。 このタイプのキャッシュには、参照元が分散している場合(Webサーバーが複数台あるなど)に Thundering Herd

    更新頻度の多いデータのキャッシュ : DSAS開発者の部屋
    y_uuki
    y_uuki 2017/12/19
  • Linuxでディスクキャッシュとして使える「bcache」を試してみた - astamuse Lab

    こんにちは。並河(@namikawa)です。 最近、すっかり暑くなってしまって、夏番って感じですね。夏といえば、海に花火にラーメンと、楽しみが盛り沢山でワクワクしますね! さて、弊社では多くのデータストアを持っておりますが、クラウドサービス上で大容量なディスクと高い性能を両立させようとすると、(費用的な意味での)コストが一気に跳ね上がることもあり、色々な工夫を試行錯誤しながらやっております。 一定量のホットデータがはっきり見えている前提であれば、高速なストレージデバイスをキャッシュとして使うことは定石であり、キャッシュと一括りにしても様々なレイヤで技術実装されています。 今回はその中でも比較的低レイヤとなるハードディスク等のディスクアレイのようなブロックデバイスに対するキャッシュとして動作する bcache について簡単な性能検証を行なってみました。 bcache とは 概要的な情報を以

    Linuxでディスクキャッシュとして使える「bcache」を試してみた - astamuse Lab
  • Performance boost and cost savings for DynamoDB

  • Varnishによる一貫性を考慮した積極的キャッシュ戦略実験 - でこてっくろぐ ねお

    この記事は、はてなエンジニアアドベントカレンダー2016の9日目の記事です。昨日は id:cockscomb による Swift 3 の Data とポインタ使いこなし術 - Hatena Developer Blogでした。今日はISUCON 6の予選問題とVarnishを組み合わせてみた話を書きます。 はじめに みなさんは今年の夏に行われたISUCON6には参加しましたか?私は参加しましたが予選落ちでした。また、最近、私は業務でVarnishというHTTPキャッシュサーバに触ることが多いです。 今回、ISUCON6が終わった後、Varnishで何ができるかの検証がてらISUCON6の予選問題で少しトリッキーな実装をした話を書きます。 実装の方針は以下のとおりです。 キャッシュに必要な実装以外は出来る限りアプリケーションには手を入れない 全てのリクエストをキャッシュサーバを通す 更新は即

    Varnishによる一貫性を考慮した積極的キャッシュ戦略実験 - でこてっくろぐ ねお
    y_uuki
    y_uuki 2016/12/09
    おもしろアーキテクチャ実験の様子です。
  • Write-through, write-around, write-back: cache explained | Computer Weekly

    y_uuki
    y_uuki 2016/11/30
  • Cache p2p

    In today’s fast-paced digital world, we expect to access information and entertainment within seconds. We don’t want to wait; we want it all instantly. This is especially true when it comes to downloading content from websites. Long gone are the days of waiting for images to load or files to be available for download. In […]

  • HTTP キャッシュを使用して不要なネットワーク リクエストを防止する  |  Articles  |  web.dev

    HTTP キャッシュを使用して不要なネットワーク リクエストを防止する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 ネットワーク経由でのリソースの取得には時間とコストがかかります。 サイズの大きいレスポンスの場合、ブラウザとサーバーの間で何度もやり取りする必要があります。 重要なリソースがすべてダウンロードされるまで、ページは読み込まれません。 限られたモバイルデータ プランでサイトにアクセスしている場合、不要なネットワーク リクエストはすべてユーザーのお金の無駄使いです。 不要なネットワーク リクエストを回避するにはどうすればよいでしょうか。ブラウザの HTTP キャッシュは防御の最前線ですこれは必ずしも最も強力で柔軟なアプローチではなく、キャッシュに保存されたレスポンスの存続期間を制御することは限られていますが、効果的であり、すべてのブラウザでサポ

  • Cache Obvious Algorithms and Data structures.pdf

    Cache-Oblivious Algorithms and Data Structures Erik D. Demaine MIT Laboratory for Computer Science, 200 Technology Square, Cambridge, MA 02139, USA, edemaine@mit.edu Abstract. A recent direction in the design of cache-efficient and disk- efficient algorithms and data structures is the notion of cache oblivi- ousness, introduced by Frigo, Leiserson, Prokop, and Ramachandran in 1999. Cache-oblivious

  • Cache obliviousの話

    過去に話したスライドの一部抜粋。 データの出典元はここ http://www.1024cores.net/home/parallel-computing/cache-oblivious-algorithms

    Cache obliviousの話
  • コンテンツキャッシュとVaryヘッダとnginx - Qiita

    Varyヘッダは前段のキャッシュサーバに対して、指定したヘッダの内容ごとにキャッシュを分ける必要があることを伝えるためのものです。例えばサーバがVary: Accept-Encodingをレスポンスヘッダに付加しておくと、キャッシュサーバはAccept-Encodingヘッダの内容に応じたキャッシュを保持します。 こうすることでクライアントのAccept-Encodingヘッダの内容に応じたキャッシュデータをキャッシュサーバは返すことができるというわけです。 nginxにおけるgzip圧縮とVaryヘッダ さて、題です。上記のような事情からかApacheのmod_deflateやh2oなんかはコンテンツのgzip圧縮を有効にすると、自動的にVary: Accept-Encodingをレスポンスヘッダに付加します。一方我らがnginxは設定ファイルにgzip_vary on;と書かないとV

    コンテンツキャッシュとVaryヘッダとnginx - Qiita
  • ピクシブ社内広告サーバーに新機能を追加するためにボクがやったこと - pixiv inside [archive]

    この記事は ピクシブ株式会社 Advent Calendar 2015 15日目の記事です。 qiita.com インフラチームの @catatsuy です。 普段はインフラの仕事が中心ですが、広告サーバーの開発にも関わっています。今回は少し前にリリースされた広告サーバーの新機能について、私が実装した配信サーバーを中心に解説したいと思います。 広告サーバーの実装については何回か発表を行いました。以下のスライドをご覧ください。 ピクシブ広告サーバー開発・運用の軌跡 2015春インターン講義資料 // Speaker Deck ピクシブ社内広告サーバーでのGoの開発・運用 #gocon /p_ads_server_gocon2015 // Speaker Deck タグ指定で特定の広告を出したい ピクシブではユーザーの皆様に最適な広告をどうすれば出せるのか、日々テストをしています。その一環とし

    ピクシブ社内広告サーバーに新機能を追加するためにボクがやったこと - pixiv inside [archive]
    y_uuki
    y_uuki 2015/12/23
    便利 “リクエストとは別のスレッドでmemcachedにアクセスして常にキャッシュを更新し続ける実装にしました。”
  • DNS caching | Consul | HashiCorp Developer

    One of the main interfaces to Consul is DNS. Using DNS is a simple way to integrate Consul into an existing infrastructure without any high-touch integration. By default, Consul serves all DNS results with a 0 TTL value. This prevents any caching. The advantage is that each DNS lookup is always re-evaluated, so the most timely information is served. However, this adds a latency hit for each lookup

    DNS caching | Consul | HashiCorp Developer
  • About Caching

    2013 - Igor Sysoev - NGINx: origen, evolución y futuro - PHP Conference Argen...PHP Conference Argentina

    About Caching
  • cachectldでOSのページキャッシュ削除を自動化 - Qiita

    サーバを運用していると時々全然メモリが余っているはずなのにスワップが起きてしまうことがあります。この場合よくあるケースは非常に大きなログファイルがあってそのログファイルのために大量のページキャッシュが利用されていることです。 ログファイルなんて滅多に読まないので、そんなのにメモリ使うぐらいだったらもっと別のアプリケーションにちゃんと割り当ててくれよと思うのですが、なかなかうまくいかないものです。 そこで効果的なのがposix_fadivseをラップして指定したファイルのページキャッシュを解放するツールです。 ページキャッシュがどんどん増えている…そんな時に役立つワンライナー ファイル指定で、ページキャッシュにのっているか確認したり追い出したり 私の場合、今まではnocacheというツールをちょこっと改造して使っていましたが、最近もうちょっと便利な風に改造したいと思うようになってきました。例

    cachectldでOSのページキャッシュ削除を自動化 - Qiita
    y_uuki
    y_uuki 2014/12/29
    便利
  • CPUとメモリーの速度差を埋めるキャッシュの基礎知識 (1/3)

    CPUの高速化についていけないメモリーの速度 今回からはちょっと趣を変えて、「キャッシュ」の話である。キャッシュの目的は「レイテンシの遮蔽」にある。といきなり大上段に構えても話が通じないので、昔話から始めよう。 初期のPCの場合、図1のようにCPUとメモリーが直結(厳密に言えばメモリーコントローラーを介する)されていた。初期というのは、おおむねi386ないし互換チップセットが利用されていた頃までの話である。 この頃は、CPUの速度が速くても30MHz程度。対するメモリーチップの速度は100ns(10MHz)~80ns(12.5MHz)程度。たまに70ns品(≒14.3MHz)や60ns(≒16.7MHz)品が高値で販売されるという、ある意味のどかな時代であった。 もちろん、これでもCPUの速度には追いついていないが、例えば2~4ウェイ・インターリーブでアクセスすれば、40~50MHz相当で

    CPUとメモリーの速度差を埋めるキャッシュの基礎知識 (1/3)
  • linux-fincoreを使ってページキャッシュを覗く

    ページキャッシュにどれだけページが載っているかを調べたいなーと思うと、 ファイルがページキャッシュに乗っているかどうかを調べる というのがよく引っかかって、 そもそもfincoreってどっから出てきた名前なんだと思ったらlinux-ftoolsというところに行き着いた。 linux-ftoolsはApacheライセンスで、PerlとINLINE Cで書かれたfincoreはGPLv2なんだけど、 どっちが家なんだかもともとオリジナルがあるのかよく判らない。 取り敢えずlinux-ftoolsを落としてきてコンパイル。 ダウンロード可能なtarballが存在しないので、hgとやらでcloneするしかなさそう。 hgコマンドが入ってなかったので、mercurialパッケージを突っ込んでから(恥ずかしながらこれ知らなかった。。) $ sudo yum install -y mercurial

  • Numbers Every Programmer Should Know By Year

    <!DOCTYPE html> <!-- ************************************** EDIT ME! ************************************** --> <!-- I interactively update myself. Made possible by: https://codemirror.net/ --> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="//d3js.org/d3.v3.min.js"></script> <link rel="stylesheet" href="//ajax.goog

  • 1