タグ

varnishに関するhohoho_ho2005のブックマーク (30)

  • Varnishを導入して、急激なアクセス増に耐える - LCL 開発者ブログ

    LCLで運営している「バスとりっぷ」というメディアに、キャッシュサーバとしてVarnishを導入しました。導入する上でハマった事・得たノウハウなどを書きたいと思います。 www.bushikaku.net Varnishとは Varnish は、リバースプロキシとして動作して、HTMLなどのキャッシュができます。 詳しくは、こちらの記事を参考にさせていただきました。 Varnish入門と仕組み 導入の背景・目的 「バスとりっぷ」は、Nginx + Unicorn ( Rails ) で構成しており、記事の閲覧中心のサイトなので、普段のサーバ負荷は大したことがありません。 ただし、Yahoo!ニュースからリンクを貼って頂いた時など急激にアクセスがある状況では、Webサーバの負荷が高くなり、レスポンスタイムも大きく落ちてしまっている状態でした。 元々の構成では、記事にアクセスされるたびに必ず

    Varnishを導入して、急激なアクセス増に耐える - LCL 開発者ブログ
  • (要約記事) Varnish と Microservices: Zipnish の紹介 - おさかな日誌

    元記事: Varnish and Microservices: Introducing zipnish [update] スライドへのリンクが変わっていたので更新: https://www.slideshare.net/Varnish_software/microservices-20-61197134 Amedia が Microservices パターンを適用した時の事例を元に Zipnish というソフトウェアの紹介記事 元記事には無い前提情報 Microservices アーキテクチャを apply する時に Varnish を活用する手法があるようだ。 今まではそれぞれのサービス間はそれぞれ通信するので、接続先のサービスを探す "Service Discovery" の問題を解決しなければいけなかった。具体的には、各サービスのインスタンス情報の格納のために Service Dir

    (要約記事) Varnish と Microservices: Zipnish の紹介 - おさかな日誌
  • Varnishに関していろいろ調べて試してみた

    1. Varnishとは Varnishはリバースプロキシを提供するためのミドルウェアである。Varnishを導入することで、Readが多いアプリケーションサーバーの前に設置することで、レスポンスの向上や、アプリケーションサーバーの負荷軽減が見込まれる。また、キャッシュの破棄等も明確に設定できるのが嬉しい。 Varnish 2.Varnishサーバーの構築 2.1.Varnishのインストール CentOS系のAmazonLinuxを使ってVanish環境を構築してみる Red Hat Enterprise Linux 6.4 - ami-5769f956 (64-bit) / ami-bb68f8ba (32-bit) Red Hat Enterprise Linux version 6.4, EBS-boot. $ sudo rpm --nosignature -i http://re

    Varnishに関していろいろ調べて試してみた
  • 社内勉強会資料(Varnish Module)

    2. Varnishの特徴 ● コンテンツのキャッシュ ● Cライクなドメイン言語VCLによる柔軟な制御 ● むしろVCL中にC言語が書ける(インラインC) ● 高速なリバースプロキシ ● フラグメントキャッシュなESIへの対応 ● ロードバランシングとヘルスチェックが可能 ● gzipの圧縮解凍が可能 うちでは主に静的コンテツに使ってます 4. VCLでできること・できないこと ● できること ● 条件分岐 ● 数値演算・文字列操作(結合・正規表現) ● できない・難しいこと ● 文字列から数値への変換 ● 時刻計算 ● Base64などの符号化やハッシュ作成 ● バックエンドからのResponseヘッダを除く 外部のリソースを取得すること 設定ファイルとしては非常に柔軟だが 微妙に痒いところがある 5. VCLのサンプル sub vcl_recv{ //クライアントからのレスポンスを受

    社内勉強会資料(Varnish Module)
  • 夏に出したVarnishCache入門をPDFで公開しました – cat /dev/random > /dev/null &

    夏コミで同人誌でだしたVarnishCache入門ですがPDFで公開します。 幾つか公開したかった理由はあったのですが、実際コミケまで足を運んで買っていただいた方にちょっと申し訳ないかなと 電子出版での有料配布も考えていたのですが 64P程度で大げさかなというのと、もう一ヶ月経って3.0.1も出たしいいかなと思い公開します。 内容的には初心者向けとなっていますので、そこまで高度な内容については記述していません。 なお3.0.1が公開されたためページ数が変わらない範囲で、その内容についても一部加筆しています。(fallback directorとか) Varnishを使ってみようと考えている方の参考になればと考えています。 PDFのダウンロード ちなみに、時間と印刷費の関係で書ききれなかった事がたくさんあるのですが(転記されないパラメータやら、varnishtestとか・・・) そういうこと

    夏に出したVarnishCache入門をPDFで公開しました – cat /dev/random > /dev/null &
  • Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel

    Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel RailsのアプリをPound、Varnish、Nginx、Unicorn、Mongrelを使用して動かした際の速度ベンチマーク。以下の構成での同一Railsアプリをhttperfでベンチマークした結果をまとめます。 Pound -> Varnish -> Nginx -> Unicorn * 2 Varnish -> Nginx -> Unicorn * 2 Nginx -> Unicorn * 2 Mongrel (Rails.env == 'development') node.js (Express + Socket.IO) 全体の構成Poundを80番ポートを公開し、Varnishを81番ポート、nginxを8080番ポート、Unicornの2プロセスをsocke

  • ウノウラボ Unoh Labs: Varnishの使用例とか

    一部の人に鳥の人として認識されているyamaokaです。 フォト蔵では最近Varnishをコンテンツキャッシュに利用しています。 具体的には、写真のサムネイルなどの静的なコンテンツをキャッシュするために使っていたりします。 Varnishはコンテンツキャッシュ機能を備えたHTTPアクセラレータです。 同じような目的に使われるプロダクトとしてSquidがありますが、 それよりも高速に効率よく動作することを売りにしています。 サーバーへのインストールについてはCentOSなどRed Hat系のLinuxであれば EPELからrpmを入手するか、 ソースを展開するとredhatディレクトリにspecファイルが用意されているので そちらを利用すれば最新版のrpmが作成可能です。 以下、rpmを使ってインストールしたものとして話を進めます。 起動設定は/etc/sysconfig/varnishです

  • とってもやさしいリバースプロキシVarnishの使い方 - ¬¬日常日記

    RubyのウェブアプリケーションフレームワークRamazeがとってもとっても素敵なので、ただいま実験としてささいなものを作成しております。HTTPdには今話題のthinを使おうかな、と思っているのですが、こうなると考えなければならないのがリバースプロキシですよね。"reverse proxy rails" あたりで検索すると真っ先にapacheの設定方法が出てくるわけですが、なんでもapacheというのもどうかな、と思いました。設定が煩雑になりますしね。そこでリバースプロキシである varnish を試してみました。varnishに関するドキュメントはあまり多くないのですが、varnish はとっても簡単なので素晴しいと思います。せっかくですから、varnishに関する設定方法などを簡単にまとめておきたいと思います。なお、私はサーバであっても ubuntu を使っておりますので(手抜き!)

    とってもやさしいリバースプロキシVarnishの使い方 - ¬¬日常日記
  • Varnish Cache 運用編 - Qiita

    # varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 "ban.url .*" # echo $? 0 バックエンド 運用中はバックエンドの状態や状態の変更したいことがあります. その場合は以下のコマンドで対応できます. ステータス確認 backend.listを使うとステータスの確認ができます. # varnishadm backend.list Backend name Refs Admin Probe web_01(192.168.0.11,,8080) 1 probe Healthy 3/3 web_02(192.168.0.12,,8080) 1 probe Healthy 3/3 ステータス変更 backend.set_health $BACKEND_NAME $STATEを使うとステータスが変更できます. $BACKEND

    Varnish Cache 運用編 - Qiita
  • [Varnish]gracefulにキャッシュしたい

    次の様なケースの Varnish の振る舞いを調べてみた キャッシュされていないコンテンツに同時にアクセスされた時(thundering herd problem) TTL 設定したキャッシュコンテンツが expire した時(grace mode) オリジンサーバが HTTP ステータス 500番台を返してきた時(saint mode) 構成 client – Varnish/3.0.4 – nginx/1.1.19 & php-fpm 通常のキャッシュの振る舞い Varnish を使うとコンテンツがキャッシュされることを確認。 確認方法 現在時刻を返すだけのページ sleep.php を用意。 意図的に処理時間がかかるよう sleep を挟む <?php sleep(5); echo date('Y/m/d H:i:s') . "\n"; ?> 未キャッシュ状態でアクセスすると現在時刻

    [Varnish]gracefulにキャッシュしたい
  • Varnishのストレージバックエンドを複数指定する

    Varnish の storage backend について キャッシュサーバの Varnish ではキャッシュの保存先として malloc(キャッシュが RAM に収まる限りは高速だが、RAM からあふれるとスワップアウトして非常に遅くなる) file(mmap で仮想メモリを割り当て。HDD のような disk I/O が遅いデバイスでは非常に遅い) persistent (Varnish 4 から非推奨されたので割愛) の3種類から選べる。 チューニングのページには When choosing storage backend, the rule of thumb is to use malloc if your cache will be contained entirely or mostly in memory, while the file storage backend pe

    Varnishのストレージバックエンドを複数指定する
  • Varnishを多段にする利点と注意するところ – cat /dev/random > /dev/null &

    小ネタです Varnishを使う上で冗長化をどうしようと悩むことが多々有ります。 単純に横に並べてLBでバランシングしてもキャッシュの同期をどうしようという問題にぶち当たります。 VarnishSoftwareがサブスクリプションで提供しているVarnishPlusでは同一階層のVarnishにおいてキャッシュオブジェクトのレプリケーションを行うVarnish High Availabilityという機能が存在しますがコミュニティ版のVarnishでは存在しません。 (VarnishPlusについてはそのうち記事書こうと思います) 強引にVCLでSquidのsiblingのような動きをするように書くことも出来なくないのですが個人的にはオススメできません。 幾つか理由があるのですが一番大きい理由がRace conditionに陥るからです。 VarnishはこれはThundering Her

    Varnishを多段にする利点と注意するところ – cat /dev/random > /dev/null &
  • ESIの効果と気をつけた点 – cat /dev/random > /dev/null &

    このブログを見てる人だとご存知だとは思うのですが、Varnishはいろんな機能があるリバースプロキシです。 VCL、ヘルスチェック、強力なログ機能、そしてESIなどの機能が存在します。 ESI以外の記事は偶に見かけるのですがESIはあまりみないなーというのと 僕が入社するとVarnishがもれなくついてきます 遊びに行っただけでもVarnishが導入されるケースがあるようです — \いわなちゃんさん/ (@xcir) November 18, 2014 こんな乗りで去年の10月あたりから知り合いのサイト(一般的には大規模にあたるぐらいのPV)にESIを入れたので (特定できてもそっとしておいてください) その時に効果や注意したことをメモ的に残そうと思います。 まずESIって何かというとESIタグをページ中に挿入することでVarnish側でそのURLの内容で置換してくれる技術です。 詳しくは

    ESIの効果と気をつけた点 – cat /dev/random > /dev/null &
  • Varnishでテストコードを書こう!~実践編~+Bodyを読もう! | GREE Engineering

    こんにちは、Service Reliabilityチームのいわなちゃんさん(@xcir)です。 先日、社内で行われたチューニングハッカソンではチームマイナス5500万としてVarnishをいれる簡単なお仕事をしてきました。 このエントリは GREE Advent Calendar 2014 17日目の記事です。 以前とある勉強会で 「varnishtestの使い方がよくわからない」 「別のツールを使ってテストをやっている」 という話を聞きました。 varnishはvarnishtestというテストツールがありますが、あまり利用されていないようです。 原因はいくつかあると思いますが、まずは実際のテストコード(VTC)を見てみましょう。 以下は公式のrollback機能のVTCです。 varnishtest "Test Rollback" server s1 { rxreq expect re

    Varnishでテストコードを書こう!~実践編~+Bodyを読もう! | GREE Engineering
  • Varnishを3日間いじって感じたこと・学んだこと | きのこる庭

    そろそろキャッシュの一つくらい導入した方が良いだろうということで、以前勉強会でお話させていただいた方にご紹介を受けた Varnish をいじってみることにした。3日間いじってみて、色々と感じる事があったので 今後Varnishを触られる方の為にも情報を残しておこうと思う。 Varnishとは? 「HTTPアクセラレータ」と言われている。Squidの数倍速いと言われている。 簡単に言えばHTTPサーバの前にリバースプロキシサーバとして待ち受けてくれて、メモリ上にキャッシュがあればキャッシュを基にレスポンスを返すし、無ければバックエンドのHTTPサーバから取ってくる。 Varnish関連で学んだこと(実際にVarnishをいじられている方向け) デフォルトだとポート番号は6081だけど、基的に80番で待ち受けるように書き換えているケースが多い …ので、httpdのポート番号を変更したり

    Varnishを3日間いじって感じたこと・学んだこと | きのこる庭
  • クックパッドの検索の裏側 - クックパッド開発者ブログ

    初めまして、インフラストラクチャー部の加藤 (@EugeneK) です。 クックパッドでは現在178万ものレシピが公開されていますが、目的のレシピを探すために検索機能を提供しています。 今回は検索機能の裏側の仕組みについて、インフラストラクチャーの観点からお話ししようと思います。 全ての検索機能を支えるSolrと周辺のアーキテクチャ クックパッドにはレシピの検索だけでなく様々な検索機能がありますが、その全てはSolrを活用して実装されています。 以前はMySQL Tritonnによる全文検索機能を使用していましたが、2011年頃からSolrに切り替わりました。 クックパッドではSolrをマスタ - スレーブ構成にすることで冗長性と負荷分散を実現しています。以下の構成図をご覧ください。 マスタとスレーブの間には、リピータと呼ばれる検索インデックスを中継するためだけの役割のサーバがいます。この

    クックパッドの検索の裏側 - クックパッド開発者ブログ
  • CDN化をnginxの設定で行う方法 - Qiita

    瞬間的な高負荷に耐える為にアプリケーション側を変更せず、nginxの設定のみで対応する方法 CDNとは、「Contents Delivery Network」といわれるもので、最適なネットワークを経由してWebコンテンツをキャッシュし効率的に配信できる物です。Amazon(AWS)では「CloudFront」というサービスがあります。他にも「Akamai」などが有名です。 前提条件 バックエンドにProxyするCMSを使う(ここではPlone) (画像等も静的なデータではなくCMSから配信) 今回の実験 CDNには、Amazon(AWS) CloudFrontを用いた nginx - Varnish - CMSアプリ(Plone(複数台))という構成(当社が普段から使っている構成) 画像やファイルなどのみをCDNから配信させる 画像やファイルのオリジナルは、Plone内つまり、同じngin

    CDN化をnginxの設定で行う方法 - Qiita
  • できる!Varnish ~もう一歩踏み出すためのTips~

    Varnish Cache Plus. Random notes for wise web developersCarlos Abalde

    できる!Varnish ~もう一歩踏み出すためのTips~
  • suz-lab.com - suz lab リソースおよび情報

    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.

    suz-lab.com - suz lab リソースおよび情報
  • Varnishのセットアップ方法(RHEL/CentOS版) | Pocketstudio.jp log3

    Varnish Cacheは、HTTPリバースプロキシのキャッシュ機能を持つソフトで、「ウェブアプリケーション・アクセラレータ。ウェブアプリのフロントに置くだけで、著しい速さに」なるというもの(公式サイトより)。オープンソースで提供され、コミュニティ https://www.varnish-cache.org/ 開発が進んでいます。 自分自身、前々から手軽に使えて早いらしく、「わたし気になります!」状態でしたが、使うシーンがありませんでした。 ところが、Munin グラフ参照用サーバの動作が鈍くなる対処として Varnish の出番かなと。やることやっても重いので、あとはキャッシュさせるしかない!と思い、まずは Varnish  を導入決意しました。 Debian/Ubuntu/RHEL/CentOS 色々動きます。自分が普段使う RHEL/CentOS 向けのセットアップ記事が無く、少々