diff --git a/aiogremlin/client.py b/aiogremlin/client.py
index 8c1f57c90187bb5efd29e82cf5dafe3766e95ba7..1025ff06dfd56bc037970d74abb6525d2ed03e29 100644
--- a/aiogremlin/client.py
+++ b/aiogremlin/client.py
@@ -162,10 +162,16 @@ class GremlinResponseStream:
 
     @asyncio.coroutine
     def read(self):
-        if self._queue.at_eof():
+        # For 3.0.0.M9
+        # if self._queue.at_eof():
+        #     self._conn.feed_pool()
+        #     message = None
+        # else:
+        # This will be different 3.0.0.M9
+        yield from self._conn._receive()
+        if self._queue.is_eof():
             self._conn.feed_pool()
             message = None
         else:
-            yield from self._conn._receive()
             message = yield from self._queue.read()
         return message
diff --git a/aiogremlin/protocol.py b/aiogremlin/protocol.py
index 4d8fee58cf73048dc7d9642d7fa71136bbcef846..897acac0147d9d647ff8d832fb28e3071fd2f74f 100644
--- a/aiogremlin/protocol.py
+++ b/aiogremlin/protocol.py
@@ -22,10 +22,12 @@ def gremlin_response_parser(out, buf):
                           message["status"]["message"])
         if message.status_code == 200:
             out.feed_data(message)
+            # For 3.0.0.M9
             # out.feed_eof()
+        # This will be terminated in 3.0.0.M9
         elif message.status_code == 299:
-            out.feed_data(message)
             out.feed_eof()
+        # For 3.0.0.M9
         # elif message.status_code == 206:
         #     out.feed_data(message)
         # elif message.status_code == 204:
diff --git a/benchmark.py b/benchmark.py
index a74ed05c48123d19219eb2bfd0d77f1a68ab9c13..2e8ada786a170166732bc2153434dbd82b352cbf 100644
--- a/benchmark.py
+++ b/benchmark.py
@@ -79,11 +79,11 @@ ARGS.add_argument(
     help='message count (default: `%(default)s`)')
 ARGS.add_argument(
     '-c', '--concurrency', action="store",
-    nargs='?', type=int, default=256,
+    nargs='?', type=int, default=100,
     help='count of parallel requests (default: `%(default)s`)')
 ARGS.add_argument(
     '-p', '--poolsize', action="store",
-    nargs='?', type=int, default=256,
+    nargs='?', type=int, default=100,
     help='num connected websockets (default: `%(default)s`)')
 ARGS.add_argument(
     '-w', '--warmups', action="store",