diff --git a/ci/test.sh b/ci/test.sh
index c8b8ec19922b13ced0585b6d63ac2b80240d0b99..7b61192163bf202e67f0d98563426587d3c6ca87 100755
--- a/ci/test.sh
+++ b/ci/test.sh
@@ -19,6 +19,7 @@ fi
 
 # We always want coverage and race detection.
 argv+=(
+  "-parallel=512"
   "-coverprofile=ci/out/coverage.prof"
   "-coverpkg=./..."
 )
diff --git a/websocket_test.go b/websocket_test.go
index 3482cbde8348d993f5850773b1a1e8f9aa201c29..27750bca1f44e36169a80f98c764ae352c60723a 100644
--- a/websocket_test.go
+++ b/websocket_test.go
@@ -1768,8 +1768,8 @@ func TestAutobahn(t *testing.T) {
 			t.Parallel()
 
 			lengths := []int{
-				1 << 16, // 65536
-				1 << 18, // 262144
+				1 << 16,
+				1 << 18,
 				// Anything higher is completely unnecessary.
 			}
 
@@ -1791,7 +1791,6 @@ func TestAutobahn(t *testing.T) {
 				1 << 12,
 				1 << 14,
 				1 << 16,
-				1 << 18,
 			}
 
 			for _, l := range fragments {
@@ -1801,7 +1800,7 @@ func TestAutobahn(t *testing.T) {
 					if err != nil {
 						return err
 					}
-					b := randBytes(1 << 18)
+					b := randBytes(1 << 16)
 					for i := 0; i < len(b); {
 						j := i + fragmentLength
 						if j > len(b) {
@@ -1835,7 +1834,6 @@ func TestAutobahn(t *testing.T) {
 			lengths := []int{
 				0,
 				16,
-				64,
 			}
 
 			for _, l := range lengths {