Let me make sure I understand. You're saying that everything is as it should be. That the reduced throughput from squid is a result of the caching algorithm's computational overhead.
Just to be clear:
My download rate via direct Internet is 120Kbps.
My LAN rate is 102400Kbps.
Any my squid rate (on LAN) is only 350Kbps.
Squid is only able to utilize 0.34% of my idle LAN's bandwidth.
Something is definitely wrong here. If I had a 3.0Mbps Internet link, then squid would actually make cached downloads SLOWER! I realize there is computational overhead involved in the cache algorithm. However, this test was performed when the entire LAN was idle, and with a single, 14MB file. So even if it took squid an initial 5sec to determine it could feed me the cached file, why is the duration of the download at 350Kbps only.
Most of the squid.conf options are at their defaults. I've monitored squid with top, and it's CPU usage and memory usage is minimal. I've compiled squid multiple times, trying the different performance enhancement options, such as diskd and async-io. What is the bottleneck here? Is there a way to determine what that would be.
The purpose of the cache is to increase throughput. The throughput is only slightly better than direct Internet.
I'd like to know what kind of LAN throughput other people are getting with their squid install. It's best to test with a fairly large file, to increase the accuracy of the bandwidth measurement, and to reduce the ratio of the computational overhead to the download time.
If anybody could post their speeds from squid, it would be greatly appreciated.
Thanks in advance for any help,
Pablo