I agree it's good to make thread pool size a system property. However I think it's not worthy of making10 secs wait time as system property in ConnectionManager's object main.  It seems this small unit test is not quite useful for real testing (as it only sends message to itself) and there's many fixed arguments such as count 10 and size 10MB. I will change it back to 1 and make it less confusing. i'd rather make the arguments settable in ConnectionManagerTest.scala which demonstrates better a cluster's network connection throughput.