Full picture *
I have 2 squid instances.
Both are taking the same amount of connections, and both are
connecting to the same exact pool of origins via a lb.
2344 root 13G 13G cpu1 00 4:03:10 25% squid/1
2096 root 13G 13G sleep 310 4:47:22 9.2% squid/1
After about 14 hours of runtime, the instances hit 25% utilization,
and then never seem to restabilize.
This is all I see in my cache.log for the instance that is maxed out:
2007/10/05 10:47:25| clientReadRequest: FD 107 (82.38.189.46:5430)
Invalid Request
2007/10/05 11:05:13| WARNING: unparseable HTTP header field
{Accept-CharsetGET /pict/320155568274_1.jpg HTTP/1.1}
2007/10/05 11:06:55| parseHttpRequest: Unsupported method 'Connection:'
2007/10/05 11:06:55| clientReadRequest: FD 1808 (84.71.71.234:35312)
Invalid Request
2007/10/05 11:06:55| parseHttpRequest: Unsupported method 'Connection:'
2007/10/05 11:06:55| clientReadRequest: FD 1007 (12.25.108.29:63647)
Invalid Request
2007/10/05 11:22:01| parseHttpRequest: Unsupported method 'Connection:'
2007/10/05 11:22:01| clientReadRequest: FD 1612 (81.104.41.63:48329)
Invalid Request
2007/10/05 11:22:01| parseHttpRequest: Unsupported method 'Connection:'
2007/10/05 11:22:01| clientReadRequest: FD 1685 (74.236.38.154:50482)
Invalid Request
2007/10/05 11:22:06| parseHttpRequest: Unsupported method 'Connection:'
2007/10/05 11:22:06| clientReadRequest: FD 6278 (83.112.151.249:53849)
Invalid Request
The box is a 2 cpu dual core, so each squid instance maxes out at 25% cpu.
The are strictly in memory cache (no disk), and they each have 9G of
RAM per instance.
Can someone give me an idea of what is happening?
Thanks.
**
Greetings,
Also, here is some truss output to show what the process is doing.
accept(9, 0xFD7FFFDFFAF0, 0xFD7FFFDFFADC, SOV_DEFAULT) Err#11 EAGAIN
write(5635, " G E T / f i l e / 2 7".., 842) = 842
write(5636, " G E T / f i l e / 2 5".., 654) = 654
write(5637, " G E T / f i l e / 2 3".., 475) = 475
write(5638, " H T T P / 1 . 0 2 0 0".., 3100) = 3100
read(5638, 0x35F4C4A00, 4095) Err#11 EAGAIN
read(5641, " G E T / f i l e / 2 6".., 4095) = 468
write(5644, " H T T P / 1 . 0 2 0 0".., 2117) = 2117
read(5644, 0x30A678AB0, 4095) Err#11 EAGAIN
write(5645, " H T T P / 1 . 0 2 0 0".., 3487) = 3487
read(5645, 0x3568248E0, 4095) Err#11 EAGAIN
write(5646, " H T T P / 1 . 0 2 0 0".., 4130) = 4130
read(5647, " G E T / f i l e / 2 6".., 4095) = 383
write(5649, " G E T / f i l e / 2 8".., 500) = 500
read(5651, " G E T / f i l e / 1 3".., 4095) = 364
write(5652, " H T T P / 1 . 0 2 0 0".., 3331) = 3331
read(5652, 0x35BF4ACF0, 4095) Err#11 EAGAIN
read(5653, 0x35A5B2B70, 4095) Err#131 ECONNRESET
close(5653) = 0
read(5655, 0x35D087890, 4095) Err#131 ECONNRESET
close(5655) = 0
write(5656, " H T T P / 1 . 0 2 0 0".., 2459) = 2459
read(5656, 0x358970130, 4095) Err#11 EAGAIN
read(5657, 0x30E6DB710, 4095) = 0
close(5657) = 0
write(5663, " G E T / f i l e / 1 1".., 541) = 541
write(5666, " H T T P / 1 . 0 2 0 0".., 2539) = 2539
read(5666, 0x2490B2C20, 4095) Err#11 EAGAIN
write(5669, " H T T P / 1 . 0 2 0 0".., 2783) = 2783
read(5669, 0x35A397400, 4095) Err#11 EAGAIN
read(5670, " G E T / f i l e / 2 6".., 4095) = 477
read(5671, 0x1F617, 4095) Err#131 ECONNRESET
close(5671) = 0
write(5672, " H T T P / 1 . 0 2 0 0".., 2031) = 2031
read(5672, 0x358112740, 4095) Err#11 EAGAIN
write(5683, " G E T / f i l e / 1 1".., 463) = 463
read(5684, " G E T / f i l e / 1 9".., 4095) = 442
write(5685, " H T T P / 1 . 0 2 0 0".., 4127) = 4127
write(5686, " H T T P / 1 . 0 2 0 0".., 2882) = 2882
read(5686, 0x35CE62750, 4095) Err#11 EAGAIN
read(5687, " G E T / f i l e / 2 0".., 4095) = 994
read(5691, " G E T / f i l e / 1 4".., 4095) = 375
write(5692, " H T T P / 1 . 0 2 0 0".., 2392) = 2392
read(5692, 0x35A3077F0, 4095) Err#11 EAGAIN
read(5693, " G E T / f i l e / 1 6".., 4095) = 643
write(5702, " H T T P / 1 . 0 2 0 0".., 2435) = 2435
read(5702, 0x35C769C90, 4095) Err#11 EAGAIN
accept(8, 0xFD7FFFDFFAF0, 0xFD7FFFDFFADC, SOV_DEFAULT) = 3156
getsockname(3156, 0xFD7FFFDFFAE0, 0xFD7FFFDFFADC, SOV_DEFAULT) = 0
fcntl(3156, F_GETFL)= 130
fcntl(3156, F_SETFD, 0x0083)= 0
fcntl(3156, F_GETFL)= 130
fcntl(3156, F_SETFL, FWRITE|FNONBLOCK) = 0
accept(8, 0xFD7FFFDFFAF0, 0xFD7FFFDFFADC, SOV_DEFAULT) = 3158
getsockname(3158, 0xFD7FFFDFFAE0, 0xFD7FFFDFFADC, SOV_DEFAULT) = 0
fcntl(3158, F_GETFL)