One big issue for repeatability at the moment (at least on Solaris) is the issue of sockets left in TIME_WAIT state. By default I think they hang around for two minutes.

Having lots of sockets in TIME_WAIT seems to have a big impact on libMicro cases like "bind" and "connection". We did try to reorder some of the cases within the "bench" script, but it is obvious to me now that we need to do more work on this.

For instance, I find that "close_tcp" is a big culprit (i.e. a big producer of TIME_WAIT sockets). I've also found that "close_tcp" doesn't seem to care at all about the number of TIME_WAIT sockets (i.e. it doesn't seem to make any difference to the result). So one obvious change would be to put "close_tcp" right at the end of the "bench" script.

However, perhaps we need "bench" to monitor every case for excessive TIME_WAIT socket creation, and have it "wait until most of them have gone" before continuing? Yes, we could just do this before TIME_WAIT sensitive cases, but I think it would be good to eliminate the noise generated by the background reaping of TIME_WAIT sockets for all.

Phil

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
perf-discuss mailing list
[email protected]

Reply via email to