Skip to content

kazeburo/Plack-Middleware-Static-OpenFileCache

Repository files navigation

NAME

Plack::Middleware::Static::OpenFileCache - Plack::Middleware::Static with open file cache

SYNOPSIS

use Plack::Middleware::Static::OpenFileCache;

builder {
    enable "Plack::Middleware::Static",
        path => qr{^/(images|js|css)/},
        root => './htdocs/',
        max  => 100,
        expires => 60,
        buf_size => 8192,
        cache_errors => 1;
    $app;
};

DESCRIPTION

Plack::Middleware::Static::OpenFileCache enables Plack::Middleware::Static to cache open file like nginx. This middleware cache opened file handles and their sizes and modification times for faster contents serving.

CONFIGURATIONS

  • max

    Maximum number of items in cache. If cache is overflowed, items are removed by LRU. (100 by default)

  • expires

    Expires seconds. 60 by default

  • buf_size

    If content size of static file is smaller than buf_size. Plack::Middleware::Static::OpenFileCache reads all to memory. 8192 byte by default.

  • cache_errors

    If enabled, this middleware cache response if status is 40x. Disabled by default.

BENCHMARK

benchmark with ApacheBench and Monoceros

  • benchmark on larger file

      Document Path:          /static/jquery-1.10.2.min.js
      Document Length:        93107 bytes
      
    
      Static                Requests per second:    1219.47 [#/sec] (mean)
      Static::OpenFileCache Requests per second:    1483.52 [#/sec] (mean)
    
  • benchmark on small file

      Document Path:          /static/cpanfile
      Document Length:        160 bytes
      
    
      Static                 Requests per second:    2018.13 [#/sec] (mean)
      Static::OpenFileCache  Requests per second:    2813.08 [#/sec] (mean)
    

LICENSE

Copyright (C) Masahiro Nagano.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Masahiro Nagano kazeburo@gmail.com

About

Middleware::Static with Open File Cache

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages