1. 28 Jun, 2007 1 commit
    • Dag Erling Smørgrav's avatar
      Some of the statistics we gather are accumulated totals, while others are · 63a05fef
      Dag Erling Smørgrav authored
      instantaneous measurements.  For instance, we report the total number of
      allocator requests made over the child's lifetime, but we also report the
      amount of storage in use at any particular moment.
      
      The difference is important, because accumulated totals can be averaged
      over the program's lifetime (or over the last N seconds), but instantaneous
      measurements can't.
      
      Recycle the format field in MAC_STAT() (it was never used anyway) into a
      single-character flag indicating whether each item is an accumulated total
      ('a') or an instantaneous measure ('i').  Use this in varnishstat to skip
      averaging non-averageable numbers.
      
      Also rework varnishstat's "once" mode to show 1) each statistic's symbolic
      name, 2) its current value, 3) if appropriate, its value averaged over the
      process lifetime, and 4) its description.
      
      The reason for displaying the symbolic name is to simplify scripting, and
      to serve as a reference for looking up symbolic names to pass to e.g. the
      upcoming Nagios plugin.
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1587 d4fa192b-c00b-0410-8231-f00ffab90ce4
      63a05fef
  2. 27 Jun, 2007 3 commits
    • Dag Erling Smørgrav's avatar
      Mostly finish the LRU code and its integration: · 059e1bdf
      Dag Erling Smørgrav authored
       - Wrap the storage code so we don't need to duplicate the "toss out some old
         crap and try again" logic everywhere.  This will also help when / if we
         decide to add support for multiple concurrent storage arenas.
      
       - While I'm at it, implement sma_trim().
      
       - Rework the interaction between the LRU and expiry code.  Instead of placing
         objects retired by the LRU on death row, immediately terminate them.
      
       - Give the LRU code its own fake session and worker so we don't have to pass
         it a session pointer.
      
       - Rework the LRU API, and add LRU_DiscardOne() which discards a single
         object.  This is what the stevedore code uses.
      
      Known or suspected issues:
      
       - The LRU and expiry code should use the same mutex, and / or the possiblity
         for races between them should be examined closely.
      
       - LRU_Init() needs to be looked at and possibly moved.
      
       - LRU_DiscardSpace() and LRU_DiscardTime() are unused and quite possibly useless.
      
       - Logging and statistics related to the LRU need more attention.
      
       - The stevedore API can probably be improved.
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1586 d4fa192b-c00b-0410-8231-f00ffab90ce4
      059e1bdf
    • Poul-Henning Kamp's avatar
      Don't fill the entire workspace with read-ahead data. · c8e9f809
      Poul-Henning Kamp authored
      Eventually we need to separate the "max http header size" from the
      workspace size, but that will take a bit of pondering.
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1585 d4fa192b-c00b-0410-8231-f00ffab90ce4
      c8e9f809
    • Poul-Henning Kamp's avatar
      Make sure to reset the workspaces of the backend connection between · 5691f839
      Poul-Henning Kamp authored
      requests, otherwise we end up filling it up with Content-Length: headers
      if we manage to keep the backend busy.
      
      Also make the snapshot of the preferred workspace-size volatile to ensure
      that we are consistent.
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1584 d4fa192b-c00b-0410-8231-f00ffab90ce4
      5691f839
  3. 26 Jun, 2007 9 commits
  4. 25 Jun, 2007 26 commits
  5. 24 Jun, 2007 1 commit