こんにちは、Service Reliabilityチームのいわなちゃんさん(@xcir)です。 先日、社内で行われたチューニングハッカソンではチームマイナス5500万としてVarnishをいれる簡単なお仕事をしてきました。 このエントリは GREE Advent Calendar 2014 17日目の記事です。 以前とある勉強会で 「varnishtestの使い方がよくわからない」 「別のツールを使ってテストをやっている」 という話を聞きました。 varnishはvarnishtestというテストツールがありますが、あまり利用されていないようです。 原因はいくつかあると思いますが、まずは実際のテストコード(VTC)を見てみましょう。 以下は公式のrollback機能のVTCです。 varnishtest "Test Rollback" server s1 { rxreq expect re
今回もgifを撮ってみました。 取得に3秒かかるコードでTTLは10秒です。expire時の動きを見てみてください。 検証コード ■date.php <?php header('Cache-Control: max-age=20'); echo date("Y/m/d H:i:s")."\n"; sleep(3); ■vcl@3.0.5 sub vcl_fetch{ set beresp.do_stream = true; set beresp.ttl = 10s; set beresp.grace = 10m; } ■vcl@4.0.0 sub vcl_backend_response{ set beresp.do_stream = true; set beresp.ttl = 10s; set beresp.grace = 10m; } grace動作 3.0.5 4.0.0 3.0で
Hot on the heels of Varnish 3.0.5, it is our pleasure to announce the release of Varnish 4.0.0 technology preview 1. There are too many changes to fully enumerate them here, but a small sample is: Full streaming support, including asynchronous backend fetches. This enables Varnish to serve stale objects while it is fetching or revalidating objects from the backend. If-Modified-Since and If-None-M
An HTTP caching layer can be used to dramatically speed up requests to our web applications. We’ll walk through setting up a Ruby on Rails application to return cacheable responses. Varnish the Application Accelerator We’ll use Varnish Cache as our HTTP Caching Layer. Instead of hosting our own Varnish instance, we’ll use a hosted solution provided by Fastly. When a cache miss occurs, Fastly will
Varnish3.0.4が公開されました。 今回はほとんどBugFixですが、いくつかの機能改善があります。 公式リリースノート(3.0.4) バグフィックス ■CVE-2013-4090 特定条件でACLで想定外のマッチ・マッチ漏れが起こる #1312 対象は3.0.3までの全てのバージョンです 引っかかる条件は以下だと思います ・CIDR形式の定義が存在(/8,/16,/24を除く) ・単一のIPアドレスを指定している ・その定義範囲が重複している こんな感じです VCLコード acl foo { "127.0.0.2"; "127.0.0.0"/19; //(127.0.0.1 ~ 127.0.31.254で127.0.0.2を含む) } Cに変換したコード(3.0.3) static int match_acl_named_foo(const struct sess *sp, co
Download Varnish is distributed as both source and binary packages. Please choose the appropriate version for your platform. Source Debian FreeBSD Red Hat Enterprise Linux 5/6 Ubuntu Summary of changes from 3.0.3 to 3.0.4 The ACL code had a bug which could lead to false negatives. This has been assigned CVE-2013-4090. Varnish will now return an error if the client sends multiple Host headers. If t
みなさんお久しぶりです。いわなちゃんさんです。 最近会社で、「○○さんっていわなちゃんですよね?」と確認されたりしていますが元気しています。 さて、来週の5月30日~31日にかけてニューヨークで行われるVarnish User Group Meeting 7(VUG7)で発表する機会を頂けましたので、先日会社のブログでちらっと触れたレガシーシステムを載せ替えた話といくつか作ったツールについて発表してきます。 本当はVMODの話でもしようかなと考えていたのですが、MLとかIRCを見てて困ってる人が多いのはツールかなと感じたので、そっちの話をしてきます。 ツール自体の記事は、また帰ってきたら書こうと思いますがgithubにはあげていますので見てもらえれば嬉しいです。 あと、ニューヨークで美味しいものを食べたいので、おすすめのお店・ここは見とけといったスポットを教えてもらえると嬉しいです。 飛行
はじめまして、サーバ基盤チームの田中祥平(@xcir)です。 最近入社しまして、チームではいわなちゃんと呼ばれています。よろしくお願いします。 入社してからGREEの配信システムをVarnish Cache(以下Varnish)に置き換える仕事をしていたのですが、少し前に問題なく山を超えました。 そこで今回利用したVarnishの特にテスト機能について紹介しようと思います。 なお、今回の説明に利用するVersionは3.0.3です。 Varnishとは VCLというドメイン固有言語をもち、キャッシュもできる高速リバースプロキシです。 if文が書けるので柔軟に記述しやすいという特徴があります。 たとえば/admin/以下に許可したIP以外からのアクセスは弾くと言ったことは以下のように記述できます。
The varnish-agent2 existing code base is pretty solid, rather beautiful I might add. These simple words, keep it simple, has been realised by the following rule of thumb. – Close to 0 configuration – “Just works” – Maintainable – Generic – Stateless For those that are keen to get started on the varnish-agent2 code base, I hope that this document will be of some use. I have used a tiny subset of t
Some time ago I was asked how a ticket auction site should deal with massive traffic spikes. These sites can get an horrendous amount of traffic in a rather short time frame and the content is in its nature quite dynamic. This is what advice we gave them in order to quickly build something that would scale. Firstly we recommend to cache everything. You don't have to cache it for a long period, jus
The Varnish Agent Posted on 2013-01-22 We just released the Varnish Agent 2.0. Code and bug tracker: https://github.com/varnish/vagent2 Demo (for now): http://84.209.194.23:6085/html/. Debian and Ubuntu packages: http://users.varnish-software.com/~kristian/agent/ License: FreeBSD (Same as Varnish) Written by: Myself! For Varnish Software (http://www.varnish-software.com) The Varnish Agent is a HTT
Varnishは様々なオブジェクトのキャッシュを行いますが その際にオブジェクトの保存を何処に行うかを選択することができます。 現在のバージョンでは malloc file persistent といった3つのストレージが存在しており、それぞれに特徴があります。 今回は特にpersistentに焦点をあてて解説します。 malloc メモリ上にストレージを置いているVarnishで一番高速なストレージです。 メモリ上に置くため当然のことながらサーバの移設での一時停止や再起動、 workerのpanicでの自動再起動などでキャッシュが吹き飛んでしまいます。 file ファイル上にストレージを置く、若干遅いストレージです。 ファイルと名前はついているものの永続化を目的としておらず、 ストレージへの書き込み時にflushしません。 読み書きはページ・バッファキャッシュ、つまりOSに任せており V
Amazon S3 REST-API is necessary to generate signature. vmod-awsrest generate to Authorization and Date header for Amazon S3. How to use VCL import awsrest; backend default { .host = "s3.amazonaws.com"; .port = "80"; } sub vcl_recv{ awsrest.s3_generic( "accessKey", //AWSAccessKeyId "secretKey", //SecretAccessKeyID req.request, //HTTP-Verb req.http.content-md5, //Content-MD5 req.http.content-type, /
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く