From: Amos Jeffries
-
-
-
-
- The most important of these new features are:
2. Major new features since Squid-3.1
-
3. Windows support
+3. Changes to squid.conf since Squid-3.1
-
4. Changes to squid.conf since Squid-3.1
+4. Changes to ./configure options since Squid-3.1
-
5. Changes to ./configure options since Squid-3.1
+5. Options Removed since Squid-2
-
6. Options Removed since Squid-2
+6. Regressions since Squid-2.7
-
-7. Regressions since Squid-2.7
-
-
-
@@ -101,6 +90,7 @@ for Applied Network Research and members of the Web Caching community.
+
Most user-facing changes are reflected in squid.conf (see below).
-The helper multiplexer's purpose is to relieve some of the burden +Squid has when dealing with slow helpers. It does so by acting as a +middleman between squid and the actual helpers, talking to Squid via +the multiplexed concurrent variant of the helper protocol and to the +helpers via the non-concurrent variant.
+ +Helpers are started on demand, and in theory the muxer can handle up to +1k helpers per instance. It's up to squid to decide how many helpers +to start.
+ +The muxer knows nothing about the actual messages being passed around, +and as such can't really (yet?) compensate for broken helpers. +It is not yet able to manage dying helpers, but it will.
+ +To configure the multiplexer add its binary name (usually /usr/share/libexec/helper-mux.pl) +in front of the name of whichever helper is being multiplexed. It takes the helper binary +path and parameters as its own command parameters. The concurrency setting already +existing in Squid is used to configure how many child helpers it may run.
+ +For example, a traditional configration is +
+ url_rewrite_program /your/redirector.sh + url_rewrite_children 5 + ++ +the alternative multiplexer configuration is: +
+ url_rewrite_program /usr/share/libexec/helper-mux.pl /your/redirector.sh + url_rewrite_children 1 concurrency=5 + ++ + +
Helpers which are already concurrent protocol enabled gain little benefit from the multiplexer +on most systems. However on some systems where Squid spawning helpers causes excess memory usage +the reduction in direct helper spawned by Squid can result in a great reduction in resource use.
+ +The helper can be controlled using various signals: +
To improve the understanding of what each helper does and where it should be used the helper binaries @@ -168,7 +205,7 @@ which are bundled with Squid have undergone a naming change in this release.
-The man(8) and man(1) pages bundled with Squid are now provided online for all @@ -180,236 +217,12 @@ versions and beginning with 3.2 they are available in languages other than engli
3.1 began the Internationalization of Squid with the public facing error pages. This move begins the Localization of the internal administrator facing manuals.
-Automatic detection and use of the pthreads library available from Solaris 10
- -This Squid version can run on Windows as a system service using the Cygwin emulation environment,
-or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.
-On Windows 2000 and later the service is configured to use the Windows Service Recovery option
-restarting automatically after 60 seconds.
Some new command line options were added for the Windows service support:
The service installation is made with -i command line switch, it's possible to use -f switch at -the same time for specify a different config-file settings for the Squid Service that will be -stored on the Windows Registry.
- -A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed. -"Squid" is the default when the switch is not used.
- -So, to install the service, the syntax is:
--
-squid -i [-f file] [-n name] -- - -
Service uninstallation is made with -r command line switch with the appropriate -n switch.
- -The -k switch family must be used with the appropriate -f and -n switches, so the syntax is:
--
-squid -k command [-f file] -n service-name -- -where service-name is the name specified with -n options at service install time. - -
To use the Squid original command line, the new -O switch must be used ONCE, the syntax is:
--
-squid -O cmdline [-n service-name] -- -
If multiple service command line options must be specified, use quote. The -n switch is -needed only when a non default service name is in use.
- -Don't use the "Start parameters" in the Windows 2000/XP/2003 Service applet: they are -specific to Windows services functionality and Squid is not designed for understand they.
- -In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130":
--
-squid -O "-u 3130" -n squidsvc -- - -
The process status helper functions make it easier for you to obtain information about -processes and device drivers running on Microsoft® Windows NT®/Windows® 2000. These -functions are available in PSAPI.DLL, which is distributed in the Microsoft® Platform -Software Development Kit (SDK). The same information is generally available through the -performance data in the registry, but it is more difficult to get to it. PSAPI.DLL is -freely redistributable.
- -PSAPI.DLL is available only on Windows NT, 2000, XP and 2003. The implementation in Squid is -aware of this, and try to use it only on the right platform.
- -On Windows NT PSAPI.DLL can be found as component of many applications, if you need it, -you can find it on Windows NT Resource KIT. If you have problem, it can be -downloaded from here: -http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE
- -On Windows 2000 and later it is available installing the Windows Support Tools, located on the -Support\Tools folder of the installation Windows CD-ROM.
- -On Windows platforms, if no value is specified in the dns_nameservers option on -squid.conf or in the /etc/resolv.conf file, the list of DNS name servers are -taken from the Windows registry, both static and dynamic DHCP configurations -are supported.
- --
-acl blocklist url_regex -i "c:/squid/etc/blocked1.txt" -- -
-redirect_program c:/perl/bin/perl.exe c:/squid/libexec/redir.pl -redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd --
-
A reasonably recent release of
-Cygwin or
-MinGW is needed.
-The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.
-For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:
-OpenSSL:
-Shining Light Productions Win32 OpenSSL
-libcrypt:
-MinGW packages repository
-db-1.85:
-TinyCOBOL download area
-When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.
-
On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
-Some specific configuration could be needed:
-
-ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" -<Location /squid/cgi-bin/cachemgr.cgi> - PassEnv TMP TEMP - Order allow,deny - Allow from workstation.example.com -</Location> --
There have been changes to Squid's configuration file since Squid-3.1.
This section gives a thorough account of those changes in three categories:
@@ -426,7 +239,7 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" -@@ -454,7 +267,7 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
-@@ -490,17 +303,19 @@ Both EUI forms are logged in the same field. Type can be identified by length or
Now only available to be set in Windows builds.
startup=N allow finer tuning of how many helpers are started initially.
-idle=N allow fine tuning of how many helper to retain as buffer against sudden traffic loads.
-concurrency=N was previously called url_rewrite_concurrency as a distinct directive.
+New options startup=N, idle=N, concurrency=N +
@@ -515,7 +330,7 @@ Both EUI forms are logged in the same field. Type can be identified by length or
-There have been some changes to Squid's build configuration since Squid-3.1.
This section gives an account of those changes in three categories:
@@ -531,7 +346,7 @@ Both EUI forms are logged in the same field. Type can be identified by length or -@@ -550,7 +365,7 @@ the helper protocol usage and provide exemplar code.
-@@ -560,7 +375,7 @@ the helper protocol usage and provide exemplar code.
-@@ -572,11 +387,11 @@ the helper protocol usage and provide exemplar code.
-Some squid.conf and ./configure options which were available in Squid-2.6 and Squid-2.7 are made obsolete in Squid-3.2.
-@@ -625,7 +440,7 @@ the helper protocol usage and provide exemplar code.
-@@ -636,7 +451,7 @@ the helper protocol usage and provide exemplar code.
-@@ -693,13 +508,13 @@ the helper protocol usage and provide exemplar code.
-Some squid.conf and ./configure options which were available in Squid-2.7 are not yet available in Squid-3.2
If you need something to do then porting one of these from Squid-2 to Squid-3 is most welcome.
-@@ -818,7 +633,7 @@ the helper protocol usage and provide exemplar code.
-
diff --git a/doc/release-notes/release-3.2.sgml b/doc/release-notes/release-3.2.sgml
index 5f6ac08c12..c136476dfa 100644
--- a/doc/release-notes/release-3.2.sgml
+++ b/doc/release-notes/release-3.2.sgml
@@ -34,6 +34,7 @@ The 3.2 change history can be The helper multiplexer's purpose is to relieve some of the burden
+ Squid has when dealing with slow helpers. It does so by acting as a
+ middleman between squid and the actual helpers, talking to Squid via
+ the multiplexed concurrent variant of the helper protocol and to the
+ helpers via the non-concurrent variant.
+
+ Helpers are started on demand, and in theory the muxer can handle up to
+ 1k helpers per instance. It's up to squid to decide how many helpers
+ to start.
+
+ The muxer knows nothing about the actual messages being passed around,
+ and as such can't really (yet?) compensate for broken helpers.
+ It is not yet able to manage dying helpers, but it will.
+
+ To configure the multiplexer add its binary name (usually /usr/share/libexec/helper-mux.pl)
+ in front of the name of whichever helper is being multiplexed. It takes the helper binary
+ path and parameters as its own command parameters. The concurrency setting already
+ existing in Squid is used to configure how many child helpers it may run.
+
+ For example, a traditional configration is
+ Helpers which are already concurrent protocol enabled gain little benefit from the multiplexer
+ on most systems. However on some systems where Squid spawning helpers causes excess memory usage
+ the reduction in direct helper spawned by Squid can result in a great reduction in resource use.
+
+ The helper can be controlled using various signals:
+ To improve the understanding of what each helper does and where it should be used the helper binaries
@@ -168,10 +209,12 @@ This section gives a thorough account of those changes in three categories:
Now only available to be set in Windows builds.
startup=N allow finer tuning of how many helpers are started initially.
- idle=N allow fine tuning of how many helper to retain as buffer against sudden traffic loads.
- concurrency=N was previously called url_rewrite_concurrency as a distinct directive.
+ New options startup=N, idle=N, concurrency=N
+