Fix the squid package {completed}
-
Hi!
I am having the same squid slow transfer problems on my institution.
I have a dual-wan system: one 25 MBps cable connection on WAN for internet access and one institutional adsl 1MBps on WAN OPT3 (also has internet access using another gateway).
The OPT3 is connected to a 1GBps switch and has a public IP (we have 32 public ips for mail, webpage, etc… and a cisco router).
If I download a huge file from our servers (connected on the WAN OPT3 interface) I can easily get 11000 MBytes/sec from our internal lan's, passing through squid.
Nevertheless, accessing the internet (through the cable connection on WAN) I can get maximum 50Kbytes/sec using squid and 2000KBytes/sec using only NAT and proxy off.
Why using the same squid traffic is slow in one interface and normal on another?Strangely if I discard the cable connection, deactivate WAN OPT3, and connect the 1MBps connection on WAN interface, I can get the full speed of it, downloading at about 200Kbytes/sec from the internet.
Can it be the different modems? On the cable I have a regular Motorola modem, and on the institucional I have a much higher quality adsl modem.
Can it be the NIC? When using cable we connect it to pfsense using a 100MBps 3Com card (xl driver) and the 1Mbps is on one VLAN that enters in pfsense throug a Intel PRO1000 (em driver) together with our internal networks...Can anyone shed some light on this problem? I am liking a lot pfsense, but I cannot have squid turned on because of such slow transfers!
Yours,
Antonio Paulino -
OK - finally got a chance to try 1.2 release on matching HW to our 1.2rc3 fully functional box. Clean install, no changes except to add squid and setup the WAN interface. Before squid I was getting 2.7 mbit, after squid barely 300kbit. This is a single core kernel, pIII 1.7 w/ 1 gb ram, 80gb hd and one 3com, one intel NIC.
-
I can confirm. Fresh install of 1.2. Nothing but squid running, latest package as of last night.
With transparent enabled, on our dual-bonded T1 here, I get 600-1100Kbit.
Disabled, I get ~ the full 3Mbit.Running Pentium D architecture, with SMP kernel.
I monitored CPU usage with top. No difference. 99% idle either way.
Not good.
-
any update on this?
Cheers.
-
I'm holding my breath that it may not be an issue with FreeBSD 7/pfSense 1.3b. For now it looks like it's wait and see as nobody is actively working on a solution.
-
NEED TEST
Looks like the throughput issue may have resolved itself in the FreeBSD 6.3 build of pfSense 1.2_RELEASE. I have had success with the new build, please let us know if you see improvements as well.
http://cvs.pfsense.org/~sullrich/testing_images/6/FreeBSD_RELENG_6_3/pfSense_RELENG_1_2/ -
NEED TEST
Looks like the throughput issue may have resolved itself in the FreeBSD 6.3 build of pfSense 1.2_RELEASE. I have had success with the new build, please let us know if you see improvements as well.
http://cvs.pfsense.org/~sullrich/testing_images/6/FreeBSD_RELENG_6_3/pfSense_RELENG_1_2/Hi there,
I just installed the version linked above with only squid package installed and can't confirm any changes related to this problem.
The machine is a Celeron 700 MHz, 512MB RAM and 20GB HDD.
Without Squid I can reach the full 8 Mbit/s of my connection. With active Squid the troughput drops down to approx. 5,5Mbit/s.
I'll continue testing this version. -
Interesting…we only have 3MBit of bandwidth and don't see ANY difference between squid or direct.
-
Well i do not think that your machine parameters can handle that speed with squid without some more tweaking to either squid or pfSense itself.
One interesting tweak would be to mount the filesystem with the noatime option by setting it on /etc/fstab.
Another somewhat risky would be to add the async to those option for the filesystem but this the later option is somewhat risky.Ermal
-
Okay I've tested another configuration.
Machine was a dual Xeon 3 GHz with 2 Gigs of dual channel RAM and a 500 Gig HDD.
Unfortunately the problem persists: w/o squid -> full speed, w/ squid -> only nearly 70% is reachable.The CPU usage was constantly 1% which was predictable. :)
btw. CPU usage @ the Celeron was about 15-20% so this couldn't be the problem. -
Care to contribute to the bounty?
-
I would but I'm in apprenticeship so I do not earn enough money to contribute. :/
-
My download is 13000KB/s with squid it goes down to around 22xxKB/s.
Spec is: Dual P3 600MHz, 512MB, Asus P2B-DS, 40GB HDD 7200rpm 16MB Cache.
I've yet to test the "update" above never really have time to take the firewall down.
-
For me, i´m waiting for 1.21 and then i will speak about the bounty and the squid problem with mhab12, so we will see..
-
Same here. A single connection like video stream downloads full speed without squid. using squid as proxy it slows down from 54kBps to 4kBps. using squid as transparent proxy it became worse 2kBps. I only get 54kbps when connecting multiple video stream download.
Now I try to test to sort things out. Using PCBSD installed squid head (bec i like the store_rewrite feature).
using the squid as proxy video stream is like a digital signal 4sec full 2sec 2kBps. Tuning the squid gives me 5 4mins full 2sec 2kBps.Then try to copy squid compiled from pcbsd (after all they are the same freeBSD environment) run it at pfsense shell. connections still the same(even the squid tweked for performance).
On the other side im using in Windows XP (compiled using MinGW) squid as proxy. I got the speed full(at least the fullest speed i can get behind the router + windows XP squid as proxy).
-
I have studied this and it needs some work at how the squid transparent works.
There is even some tweaks at squid for not transparent proxy.I have not time for this right now but will come back later at it if nobody beats me at it.
-
Looking forward to it, Ermal.
-
To Fix Squid
add this to the /boot/loader.conf
kern.ipc.nmbclusters=32768
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.ip.portrange.last=65535or just delete it and replace with
autoboot_delay="1"
#kern.ipc.nmbclusters="0"
hint.apic.0.disabled=1
kern.hz=100
#for squid
kern.ipc.nmbclusters="32768"
kern.maxfiles="65536"
kern.maxfilesperproc="32768"
net.inet.ip.portrange.last="65535"you might ask why squid is so slow? its because default configuration of pfsense is router not as a server
thats why kern.ipc.nmbclusters="0" <- is set to zero. if you just simply remove this squid will be just fine.but to tune the squid i add this
kern.ipc.nmbclusters=32768
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.ip.portrange.last=65535i just figure out why squid is slow. but i don't like the binary package of squid. i'll be using the squid HEAD bec of the store_rewrite feature for caching youtubes videos and other video files and mp3.
-
This likely is the cause of/solution to the problem. I just checked my loader.conf, almost empty in my 1.2/6.3 pfSense build. Perhaps the older 1.2 Release had the offending line. I'll try adding the new lines later, but as stated before we were already at moving along pretty well. Thanks for the details chudy.