- 15 Jun, 2008 11 commits
-
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2676 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2675 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2674 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
Accept connections, and close them right away. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2673 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2672 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2671 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2670 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2669 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2668 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2667 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
This is a test-driver which will be able to drive low-level tests of varnish functionalty. The present code manages to parse the example testcase description, more work to follow. XXX: needs to be auto*'ed, right now it uses FreeBSD makefile syntax. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2666 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 14 Jun, 2008 2 commits
-
-
Poul-Henning Kamp authored
Make Grace mode the default with 10 seconds (param: default_grace) Make the thread idle timeout 300 seconds (param: thread_pool_timeout) Max one new thread per 20 msec (param: thread_pool_add_delay) git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2665 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
do it if the number of queued threads dropped since last inspection. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2664 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 11 Jun, 2008 2 commits
-
-
Poul-Henning Kamp authored
The parameter session_linger determines how many milliseconds the workerthread waits to see if another request has arrived, before handing the session over to the session herder. If we manage to catch the next request this way, we save a number of semi-expensive steps, if we hang around too long, the worker-thread gets to goof off. A relatively small sample of data from a live server, indicates that 20% of all requests arrive within 50 msec of the previous request and 50% within 100msec. It is not clear at present how these timeintervals relate to client RTT, or if they are systematically too high, due to the duration of the detour over the herder. There is a new line in varnishstat keeping track of how many times this gamble succeeds. Experimentation is encouraged. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2663 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
srcaddr and global counters. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2662 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 10 Jun, 2008 2 commits
-
-
Poul-Henning Kamp authored
different places in the code. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2661 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
Submitted by: peter Closes: 245 git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2660 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 09 Jun, 2008 5 commits
-
-
Poul-Henning Kamp authored
structure, instead of whatever we actually bound to. It is more informative and intuitive. Report the listen socket spec in the SessionOpen shm record. Close listen sockets as soon as we have forked the child, this eliminated a fd-leak when a socket was eliminated from listen_address while the child ran. Fix various potential problems related to not being able to bind to one or more listen addresses. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2659 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
Associate ascii representation addr/port strings with each listen socket, already in the manager process. Postpone listen(2) call until client is ready, to limit initial connection spike. XXX: I still miss an unlisten(2). git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2658 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2657 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2656 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
Have the worker threads add themselves to the pool, while the hold the pool lock anyway. Collect stats per pool, and have the decimator aggregate over all pools and into the shared memory counters. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2655 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 08 Jun, 2008 1 commit
-
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2654 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 07 Jun, 2008 1 commit
-
-
Poul-Henning Kamp authored
This is necessary to generalize the thread pools to do other tasks for us in the future. Please read the descriptions of the new and changed thread_pool* parameters carefully before you tweak them, some of them have slightly different meanings now. The high-level view of this is that we now have dedicated a thread to adding threads to the pools, in addition to the thread we already had that killed idle threads from the pools. The difference is that this new thread is quite a bit more reluctant to add threads than the previous code, which would add a thread any time it could get away with it. Hopefully that reduces the tendency for thread-pile-ups. This commit also reduces the cross-pool locking contention by making the overflow queue a per pool item. The down side of that is that more of the stats counters have become unlocked and thus can get out of sync if two threads race when updating them. This is an XXX item. Thanks to Anders Nordby for testing this patch. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2653 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 06 Jun, 2008 2 commits
-
-
Poul-Henning Kamp authored
unwritten lore better. Closes 203 git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2652 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
I had the sense of FIONBIO args right in the first place. Revert 2647 and promise not to commit when sleepy. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2651 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 05 Jun, 2008 4 commits
-
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2650 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
Don't hand-roll an assert. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2649 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
bit. Automatically calculate the margin, based on the width of the parameter names we have. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2648 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2647 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 02 Jun, 2008 1 commit
-
-
Poul-Henning Kamp authored
seconds instead of cleaning it in every new connection received. We are using it here, and the performance is much better now. Submmitted by: Rafael Umann <rafael.umann@terra.com.br> Closes ticket #235 git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2646 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 31 May, 2008 2 commits
-
-
Poul-Henning Kamp authored
Overhaul the regexp purge/ban code, with a detour around the CLI code. CLI code: In CLI help, don't list commands with no syntax description. Add a CLI_HIDDEN macro to construct such entries. They are useful as backwards compatibility entries which we do not want to show in the help. CLI interface to BAN (purge) code: Get the CLI names right for purging so they are purge.FOO instead of FOO.purge. This means that you should use "purge.url" and "purge.hash" instead of "url.purge" and "hash.purge". Add compat entries for the old, and keep them through the 2.x release series. Add purge.list command to list purges currently in effect. NB: This is not 100% locking safe, so don't abuse it. BAN (purge) code: Add reference counting and GC to bans. Since we now have full reference counting, drop the sequence number based soft references and go to "hard" pointer references from the object to the purges. Give the "ban" structure the miniobj treatment while we are at it. The cost of this is a lock operation to update refcounts once all applicable bans have been checked on an object. There is no locking cost if there is no bans to check. Add explicit call to new BAN_DestroyObj() when objects are destroyed to release the refcount. When we release an object refcount in BAN_DestroyObj(), check if we can destroy the last purge in the list also. We only destroy one ban per BAN_DestroyObj() call, to avoid getting stuck too long time, (tacitly assuming that we will destroy more objects than bans.) git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2645 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
Implement "quit" (ticket 125) and drop the planned aliases. Add CLIS_CLOSE return status, to communicate that close is happening. Fix logical bug in fd-table allocation bug in event-engine. Plug memory leak in CLI session destruction. Increase listen depth of telnet socket to 10. Ignore trailing whitespace and empty CLI input lines. Log CLI sessions and commands into syslog. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2644 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 30 May, 2008 3 commits
-
-
Poul-Henning Kamp authored
(no ticket) git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2643 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
This is how long time we wait for a TCP connection to the backend to become established. Typical usage: backend b1 { .host = "hex"; .port = "80"; .connect_timeout = 500 ms; } It can also be used in backends in director declarations. Also add a parameter called "connect_timeout" which sets the default to 400 msec (a number pulled out of my old black magicians hat). git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2642 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
any connections at all, that they didn't even consider that maybe connect(2) should have a timeout argument. Add TCP_connect() which addresses this shortcoming, using what I belive is a widely supported workaround. Not to POSIX: please fix. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2641 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 27 May, 2008 1 commit
-
-
Poul-Henning Kamp authored
It works just like regsub(), but replaces all occurrences of the regexp. regsub("1foofoofoo2", "foo", "bar") -> "1barfoofoo2" regsuball("1foofoofoo2", "foo", "bar") -> "1barbarbar2" Fixes ticket 238 git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2640 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 26 May, 2008 3 commits
-
-
Poul-Henning Kamp authored
Accept sockets are non-blocking, to avoid races where the client closes before we get to accept it. (Spotted by: "chen xiaoyong") Unfortunately, that means that session sockets inherit non-blocking mode, which is the opposite of what we want in the worker thread but correct for the acceptor thread. We prefer to have the extra syscalls in the worker thread, that complicates things a little bit. Use ioctl(FIONBIO) instead of fcntl(2) which is surprisingly expensive. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2639 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2638 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
fondling fcntl(2) directly. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2637 d4fa192b-c00b-0410-8231-f00ffab90ce4
-