The only thing I would like to add -- tree lookup did make a good effect
on CPU consumption.
--
Markiyan.
On 13.04.2013 10:38, mrb...@gmail.com wrote:
In the previous version (0.61), the process of checking
file names against the list of known files in the
repository was inefficient and most likely accounts for
the slow down you're seeing. I've reimplemented it using
a binary search tree and the lookup phase is no longer a
bottleneck.
I'm sorry but 0.62 still locks while fetching from a local repository:
last pid: 74701; load averages: 2.24, 2.52, 2.56
up 772+03:32:23 13:19:55
96 processes: 2 running, 94 sleeping
CPU: 14.8% user, 0.0% nice, 40.3% system, 0.7% interrupt, 44.2% idle
Mem: 1191M Active, 436M Inact, 248M Wired, 76M Cache, 112M Buf, 50M Free
Swap: 1024M Total, 232M Used, 792M Free, 22% Inuse
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
30193 root 1 117 0 56220K 9108K CPU1 1 99:16 96.39% svnup
The send/receive queues are filled up and not changing over time:
root@alpha:~# netstat -an | fgrep -w 3690
tcp4 8192 24576 81.30.199.66.3690 81.30.199.66.44473 ESTABLISHED
tcp4 24576 16384 81.30.199.66.44473 81.30.199.66.3690 ESTABLISHED
tcp4 0 0 *.3690 *.* LISTEN
root@alpha:~# kdump | head -40
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
30193 svnup RET write -1 errno 35 Resource temporarily unavailable
30193 svnup CALL write(0x3,0x8843a000,0xd91)
I think you should either use blocking IO or catch IO errors. And please
consider to set the socket options too.
Thanks.
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"