タグ

cacheに関するbasiのブックマーク (10)

  • キャッシュコヒーレンシ - Wikipedia

    リソースを共有する複数のキャッシュの概念図 キャッシュコヒーレンシ(英: cache coherency)とは、共有リソースに対する複数のキャッシュの一貫性を意味する。キャッシュコヒーレンシはメモリ一貫性の一種である。 複数のクライアントが共有メモリリソースのキャッシュを保持するとき、キャッシュ間のデータの不一致という問題が生じる。この問題は特にマルチプロセッシングシステムのCPU間で顕著である。右図において、上のクライアントがメモリのある部分を以前に読み込んでいてキャッシュ上にコピーを保持しているとき、下のクライアントが同じメモリ部分を更新すると、更新を何らかの方法で伝えない限り上のクライアントのキャッシュの内容は不正となる。キャッシュコヒーレンシはそのような状況に対処し、キャッシュとメモリの間の一貫性を保つことである。 一貫性を保つには、同じメモリ位置へのリードとライトの振る舞いを定義

    キャッシュコヒーレンシ - Wikipedia
    basi
    basi 2012/01/05
  • RAMディスク不要!FirefoxのキャッシュをRAMに置いて高速化する方法! | フリーソフトラボ.com

    Firefoxに限った事ではありませんが、一般的なウェブブラウザはウェブページにアクセスするたびに、次回以降の表示速度を高速化するため、また相手側のサーバー負荷を軽減するために、そのページ内で表示される画像や外部ファイルなどをPCのローカルストレージに”キャッシュ”として保存する仕組みになっています。 つまり、ウェブページを開くたびにハードディスクから”キャッシュ”として保存されているデータを読み込んだり、あたらしく書き込まれてくことになりますが、この”キャッシュ”保存場所をハードディスクではなく、読み込み・書き込み共にアクセスの速いRAMディスクに変更することでブラウジングの高速化が期待できるのはよく知られていることです。 ただし、RAMディスクを用意するためには通常は専用ソフトウェアが必要になるなど、必ずしも手軽に実践できるとは言えないのが難点ですが、FirefoxならわざわざRAMデ

    RAMディスク不要!FirefoxのキャッシュをRAMに置いて高速化する方法! | フリーソフトラボ.com
    basi
    basi 2011/10/02
  • プログラム内のデータベース処理高速化TIPS:phpspot開発日誌

    10 sql tips to speed up your database プログラム内のデータベース処理高速化TIPSが10個紹介されているエントリのご紹介です。 SQLが適切に設計されていないとすぐにデータベース処理がCPUを圧迫してしまいますので可能な限り知っておきたいですね。 基的な事から応用的な事まで参考になりそうだったのでメモ程度にご紹介。 explainでインデックスが使われているかを調べる 最も速いクエリは、クエリを発行しないこと、ということでデータをキャッシュしよう Memcached, CSQL Cache, AdoDB などでそれが可能 必要じゃないモノをselect しないようにする select * from table; ↓ select id from table; limit を使って取得する結果を少なくする foreach ループなどの中でsqlクエリを

  • Twitter、進化するアーキテクチャ

    原文(投稿日:2009/6/26)へのリンク Twitterサービスチームの主任エンジニアであり、主に最適化とスケーラビリティを担当しているEvan Weaver氏が、QCon London 2009においてTwitterのアーキテクチャ、とりわけ過去一年にわたって行ってきたウェブサイトの最適化について語った。 Twitterで使われているツールの多くはオープンソースである。そのスタックは、フロントサイドにRails、中間のビジネス層にC、ScalaJava、データストアとしてMySQLを利用してつくられている。すべてがRAM上に保持されており、データベースは単なるバックアップである。Railsフロントエンドはレンダリング、複合キャッシュ、DBクエリ、同期的挿入を扱う。このフロントエンドは、MySQLクライアント、Memcachedクライアント、JSONクライアントなどの、多くはCで書

    Twitter、進化するアーキテクチャ
  • PHPでパフォーマンス向上のためのキャッシュテクニック色々:phpspot開発日誌

    PHP Performance Series: Caching Techniques - Mike Willbanks : getting into the mind of a php developer. PHPでパフォーマンス向上のためのキャッシュテクニック色々が紹介されていました。 取得に時間のかかるデータはキャッシングで高速化、は当たり前の処理ですが、その方法もいろいろあり、コードが紹介されていたので解説 apc によるキャッシング方法( APCの説明 ) APCPHPのコードを共有メモリなどに中間形式にキャッシュしておいてPHPの実行速度を上げるための仕組みです。 そのAPCエクステンションを有効にすると、データをキャッシュしておくためのAPIも提供されます。 <?php if (($config = apc_fetch('config')) === false) { requ

  • javascriptを多用したページを早く表示するには « ku

    diggにのってた Vitamin Features » Serving JavaScript Fast っていう、Flickrの Cal Henderson というひとが書いてた記事に、最近なんとかなんないのかと思ってたことが書かれていて、すんげー!というわけですぐ試してみたら確かにその通りになって最高でした。 Serving JavaScript Fast ってなんのこと?というかんじだけど、要するにいまどきなWEBページはCSSとかjavascriptとかたくさん使っていて、ページのロードが完了するまで時間がかかるからなんとかしたいよね、という話。 CSSjavascriptも一度読み込めばキャッシュされるからいいんじゃないの? たしかに。しかしブラウザは毎回更新されたかどうかを確認しに行って、更新されてない、という答えをもらってから自分が持っているキャッシュを使っているのです

  • 永続化対応のオンメモリKey-Valueデータベース·Redis MOONGIFT

    以前に読んだGoogleに関するにも同じような技術に関する記述があった(タブレット辺りだろうか)。Googleで使われている技術Googleだからこそ(圧倒的台数のコンピュータ、ネットワーク、その需要など)できることだが、その論文を元に同様の技術を一般のサービスでも利用できるレベルに落とし込んでくれる人たちがいる。 サーバを起動した所 オンメモリのKey-Valueデータベースと言えばmemcachedが有名だ。だがmemcachedは再起動すればその内容が消えてしまう。逆に常にHDDに書き込めば内容は保持されるが、ディスクアクセスが多くなってしまい利点が活かせなくなる。その中間を担うのがRedisだ。 今回紹介するオープンソース・ソフトウェアはRedis、永続化にも対応したオンメモリKey-Valueデータベースシステムだ。 RedisはKey-Valueのデータベースではあるが、一

    永続化対応のオンメモリKey-Valueデータベース·Redis MOONGIFT
  • MySQLに対するDrizzleの答え #1 スレッド管理編 - mixi engineer blog

    先日、Drizzleのスレッド管理を担うコアの一部分がモジュール化され、勉強がてらMySQLのスレッド管理の設計を調べてみました。その時のメモ(だから文が少し固いかも)と、Drizzleでの戦略を今回のエントリーで公開します。 最後のDrizzleでは?セクションまではプログラミングの教科書に載っている様な典型的なセオリを述べているだけなので、MySQLのインターナルに詳しい方は最後まで飛ばした方が良いかもしれません。 ちなみにソースはMySQL 5.1とMySQL 6.0のドキュメントです http://dev.mysql.com/doc/refman/6.0/en/connection-threads.html http://dev.mysql.com/doc/refman/5.1/en/connection-threads.html 現在の仕組みと制限 現在のMySQLでは新たなクラ

    MySQLに対するDrizzleの答え #1 スレッド管理編 - mixi engineer blog
  • RAMディスクをメニューバーから簡単に作成する·Ramdisk On Menubar MOONGIFT

    最近はあまり使っていなかったが、RAMディスクは便利なシステムだ。メモリさえ豊富にあるならキャッシュや一時的な作業スペースとして使うと高速にアクセスできるようになる。もちろんアンマウントするとデータが消失するので注意が必要だ。 設定画面 そんなRAMディスクを簡単に取り扱えるようにしてくれるのがRamdisk On Menubar(ROM)だ。 Ramdisk On Menubarは日製のオープンソース・ソフトウェアで、メニューバーから簡単にRAMディスクを操作できる。 使い方は簡単だ。起動するとRAMディスクの大きさを設定するダイアログが表示される。サイズを決めたら、マウントする際のドライブ名と、サブディレクトリを作るかどうか設定する。 メニューバー 扱えるRAMディスクは一つで、別な名称でマウントしようとすると既にマウントされているディスクはアンマウントされる。マウントしてしまえば後

    RAMディスクをメニューバーから簡単に作成する·Ramdisk On Menubar MOONGIFT
  • memcachedになにをキャッシュするのか - D-6 [相変わらず根無し]

    memcachedになにをキャッシュするのか 激遅なレスポンスなんだけど、dormandのmemcached記事。 dormando - Should you cache? この中でキャッシュの使い方でよく見る間違った使い方を指摘している部分があって、ここがとても重要だと思うので書いておく Where would you think to add caching to this system? I hope I've made it too obvious.(システムのどこにキャッシュ機能を追加するべきだろう?) At the query layer!Use a database abstraction class and have it memcache resultset objects and...No no no, that's a lie. I'm lying. Don't do

  • 1