diff --git a/client/Socket.php b/client/Socket.php index 39e37ab..6f5d90a 100644 --- a/client/Socket.php +++ b/client/Socket.php @@ -162,6 +162,11 @@ class IPSocket extends Socket } $this->connected = true; } + + public function setOption($option, $value) + { + socket_set_option($this->sock, SOL_SOCKET, $option, $value); + } } class UnixSocket extends Socket diff --git a/client/test_client.php b/client/test_client.php index a1cc4b0..11f81ef 100644 --- a/client/test_client.php +++ b/client/test_client.php @@ -1,4 +1,4 @@ -setOption(TCP_NODELAY, 1); + $s->connect(); + $current = 0; + } + $m = makeRequest($size); + $s->sendMessage($m); + $r = $s->receiveMessage(); + $current++; + if ($current >= $reconnect) + { + $s = null; + } + } +} + + function testUnixSocket($amount, $reconnect, $size) { $s = null; @@ -104,6 +129,15 @@ $finish = microtime(true); $elapsed = $finish - $start; print('Total: '.round($elapsed, 3).' seconds, '.round($requests_amount / $elapsed, 3).' RPS'."\n"); +print("Testing IP socket with TCP_NODELAY:\n"); +$start = microtime(true); +testSocketNoDelay($requests_amount, $requests_per_connect, $request_size); +$finish = microtime(true); + +$elapsed = $finish - $start; +print('Total: '.round($elapsed, 3).' seconds, '.round($requests_amount / $elapsed, 3).' RPS'."\n"); + + print("Testing Unix socket:\n"); $start = microtime(true); testUnixSocket($requests_amount, $requests_per_connect, $request_size);