diff --git a/bench/workgen/runner/split_stress.py b/bench/workgen/runner/split_stress.py
index 7c0f88ea0..f1c123e76 100755
--- a/bench/workgen/runner/split_stress.py
+++ b/bench/workgen/runner/split_stress.py
@@ -73,7 +73,7 @@ ops = Operation(Operation.OP_INSERT, tables[0])
 ops = op_multi_table(ops, tables, False)
 thread0 = Thread(ops)
 
-workload = Workload(context, 20 * thread0)
+workload = Workload(context, 40 * thread0)
 workload.options.report_interval=5
 workload.options.run_time=300
 print('Split stress workload running...')
diff --git a/src/block_cache/block_io.c b/src/block_cache/block_io.c
index f1fd11e4e..b2cb09be2 100644
--- a/src/block_cache/block_io.c
+++ b/src/block_cache/block_io.c
@@ -211,7 +211,7 @@ verify:
         if (tmp == NULL)
             WT_ERR(__wt_scr_alloc(session, 4 * 1024, &tmp));
         WT_ERR(bm->addr_string(bm, session, tmp, addr, addr_size));
-        WT_ERR(__wt_verify_dsk(session, tmp->data, buf));
+        WT_ERR(__wt_verify_dsk_non_fatal(session, tmp->data, buf));
     }
 
 err:
diff --git a/src/btree/bt_handle.c b/src/btree/bt_handle.c
index f2cbb05fd..f7b47459b 100644
--- a/src/btree/bt_handle.c
+++ b/src/btree/bt_handle.c
@@ -633,7 +633,7 @@ __wt_btree_tree_open(WT_SESSION_IMPL *session, const uint8_t *addr, size_t addr_
 
     F_SET(session, WT_SESSION_QUIET_CORRUPT_FILE);
     if ((ret = __wt_blkcache_read(session, &dsk, addr, addr_size)) == 0)
-        ret = __wt_verify_dsk(session, tmp->data, &dsk);
+        ret = __wt_verify_dsk_non_fatal(session, tmp->data, &dsk);
     /*
      * Flag any failed read or verification: if we're in startup, it may be fatal.
      */
diff --git a/src/btree/bt_slvg.c b/src/btree/bt_slvg.c
index b5704e704..3c9effd04 100644
--- a/src/btree/bt_slvg.c
+++ b/src/btree/bt_slvg.c
@@ -495,7 +495,7 @@ __slvg_read(WT_SESSION_IMPL *session, WT_STUFF *ss)
          * the end of the file or overflow references to non-existent pages, might as well discard
          * these pages now.
          */
-        if (__wt_verify_dsk(session, as->data, buf) != 0) {
+        if (__wt_verify_dsk_non_fatal(session, as->data, buf) != 0) {
             __wt_verbose(session, WT_VERB_SALVAGE, "%s page failed verify %s",
               __wt_page_type_string(dsk->type), (const char *)as->data);
             WT_ERR(bm->free(bm, session, addr, addr_size));
diff --git a/src/btree/bt_vrfy_dsk.c b/src/btree/bt_vrfy_dsk.c
index 5a9a1127b..e8feb673e 100644
--- a/src/btree/bt_vrfy_dsk.c
+++ b/src/btree/bt_vrfy_dsk.c
@@ -207,6 +207,17 @@ __wt_verify_dsk_image(WT_SESSION_IMPL *session, const char *tag, const WT_PAGE_H
     /* NOTREACHED */
 }
 
+/*
+ * __wt_verify_dsk_non_fatal --
+ *     Verify a single Btree page as read from disk, continue on failure.
+ */
+int
+__wt_verify_dsk_non_fatal(WT_SESSION_IMPL *session, const char *tag, WT_ITEM *buf)
+{
+    return (__wt_verify_dsk_image(
+      session, tag, buf->data, buf->size, NULL, WT_VRFY_DISK_CONTINUE_ON_FAILURE));
+}
+
 /*
  * __wt_verify_dsk --
  *     Verify a single Btree page as read from disk.
@@ -214,8 +225,7 @@ __wt_verify_dsk_image(WT_SESSION_IMPL *session, const char *tag, const WT_PAGE_H
 int
 __wt_verify_dsk(WT_SESSION_IMPL *session, const char *tag, WT_ITEM *buf)
 {
-    return (__wt_verify_dsk_image(
-      session, tag, buf->data, buf->size, NULL, WT_VRFY_DISK_CONTINUE_ON_FAILURE));
+    return (__wt_verify_dsk_image(session, tag, buf->data, buf->size, NULL, 0));
 }
 
 /*
@@ -368,6 +378,8 @@ __verify_row_key_order_check(
       last_cell_num, cell_num, vi->tag,
       __wt_buf_set_printable(vi->session, last->data, last->size, false, tmp1),
       __wt_buf_set_printable(vi->session, current->data, current->size, false, tmp2));
+    /* Temporarily always fail here */
+    WT_ASSERT_ALWAYS(vi->session, ret == 0, "Key order check failed - this is fatal");
 
 err:
     __wt_scr_free(vi->session, &tmp1);
diff --git a/src/btree/col_modify.c b/src/btree/col_modify.c
index 7b7ff70d7..c15f0675a 100644
--- a/src/btree/col_modify.c
+++ b/src/btree/col_modify.c
@@ -250,7 +250,7 @@ __wt_col_modify(WT_CURSOR_BTREE *cbt, uint64_t recno, const WT_ITEM *value, WT_U
               ins_size, &cbt->recno, skipdepth, exclusive));
         else
             WT_ERR(__wt_insert_serial(
-              session, page, cbt->ins_head, cbt->ins_stack, &ins, ins_size, skipdepth, exclusive));
+              session, page, cbt->ins_head, cbt->ins_stack, NULL, &ins, ins_size, skipdepth, exclusive));
     }
 
     inserted_to_update_chain = true;
diff --git a/src/btree/row_modify.c b/src/btree/row_modify.c
index a4bb73e9a..709a774f4 100644
--- a/src/btree/row_modify.c
+++ b/src/btree/row_modify.c
@@ -242,7 +242,7 @@ __wt_row_modify(WT_CURSOR_BTREE *cbt, const WT_ITEM *key, const WT_ITEM *value,
 
         /* Insert the WT_INSERT structure. */
         WT_ERR(__wt_insert_serial(
-          session, page, cbt->ins_head, cbt->ins_stack, &ins, ins_size, skipdepth, exclusive));
+          session, page, cbt->ins_head, cbt->ins_stack, cbt->ins_prev, &ins, ins_size, skipdepth, exclusive));
     }
 
     inserted_to_update_chain = true;
diff --git a/src/btree/row_srch.c b/src/btree/row_srch.c
index abd98bbd5..b0d095a34 100644
--- a/src/btree/row_srch.c
+++ b/src/btree/row_srch.c
@@ -60,6 +60,7 @@ __search_insert_append(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, WT_INSERT
         }
         cbt->compare = -cmp;
         cbt->ins = ins;
+        cbt->ins_prev = ins;
         cbt->ins_head = ins_head;
 
         /*
@@ -122,9 +123,12 @@ __wt_search_insert(
 
         if (cmp > 0) { /* Keep going at this level */
             insp = &ins->next[i];
+            if (i == 0)
+                cbt->ins_prev = ins;
             skiplow = match;
         } else if (cmp < 0) { /* Drop down a level */
             cbt->next_stack[i] = ins;
+            WT_READ_BARRIER();
             cbt->ins_stack[i--] = insp--;
             skiphigh = match;
         } else
@@ -239,6 +243,7 @@ __wt_row_search(WT_CURSOR_BTREE *cbt, WT_ITEM *srch_key, bool insert, WT_REF *le
     collator = btree->collator;
     item = cbt->tmp;
     current = NULL;
+    cbt->ins_prev = NULL;
 
     /*
      * Assert the session and cursor have the right relationship (not search specific, but search is
diff --git a/src/include/cursor.h b/src/include/cursor.h
index e69808e67..6e7b9d4d2 100644
--- a/src/include/cursor.h
+++ b/src/include/cursor.h
@@ -117,6 +117,8 @@ struct __wt_cursor_btree {
     /* Next item(s) found during search */
     WT_INSERT *next_stack[WT_SKIP_MAXDEPTH];
 
+    WT_INSERT *ins_prev;
+
     uint32_t page_deleted_count; /* Deleted items on the page */
 
     uint64_t recno; /* Record number */
diff --git a/src/include/extern.h b/src/include/extern.h
index e0e1491aa..d8af19d86 100644
--- a/src/include/extern.h
+++ b/src/include/extern.h
@@ -1719,6 +1719,8 @@ extern int __wt_verify_dsk(WT_SESSION_IMPL *session, const char *tag, WT_ITEM *b
 extern int __wt_verify_dsk_image(WT_SESSION_IMPL *session, const char *tag,
   const WT_PAGE_HEADER *dsk, size_t size, WT_ADDR *addr, uint32_t verify_flags)
   WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
+extern int __wt_verify_dsk_non_fatal(WT_SESSION_IMPL *session, const char *tag, WT_ITEM *buf)
+  WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
 extern int64_t __wt_log_slot_release(WT_MYSLOT *myslot, int64_t size)
   WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
 extern size_t __wt_json_unpack_char(u_char ch, u_char *buf, size_t bufsz, bool force_unicode)
@@ -2178,8 +2180,9 @@ static inline int __wt_ftruncate(WT_SESSION_IMPL *session, WT_FH *fh, wt_off_t o
 static inline int __wt_getline(WT_SESSION_IMPL *session, WT_FSTREAM *fstr, WT_ITEM *buf)
   WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
 static inline int __wt_insert_serial(WT_SESSION_IMPL *session, WT_PAGE *page,
-  WT_INSERT_HEAD *ins_head, WT_INSERT ***ins_stack, WT_INSERT **new_insp, size_t new_ins_size,
-  u_int skipdepth, bool exclusive) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
+  WT_INSERT_HEAD *ins_head, WT_INSERT ***ins_stack, WT_INSERT *prev, WT_INSERT **new_insp,
+  size_t new_ins_size, u_int skipdepth, bool exclusive)
+  WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
 static inline int __wt_lex_compare(const WT_ITEM *user_item, const WT_ITEM *tree_item, bool prefix)
   WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
 static inline int __wt_lex_compare_short(const WT_ITEM *user_item, const WT_ITEM *tree_item)
diff --git a/src/include/serial_inline.h b/src/include/serial_inline.h
index ced6d3f73..40844077e 100644
--- a/src/include/serial_inline.h
+++ b/src/include/serial_inline.h
@@ -11,12 +11,16 @@
  *     Worker function to add a WT_INSERT entry to the middle of a skiplist.
  */
 static inline int
-__insert_simple_func(
-  WT_SESSION_IMPL *session, WT_INSERT ***ins_stack, WT_INSERT *new_ins, u_int skipdepth)
+__insert_simple_func(WT_SESSION_IMPL *session, WT_INSERT ***ins_stack, WT_INSERT *prev,
+  WT_INSERT *new_ins, u_int skipdepth)
 {
+    WT_COLLATOR *collator;
+    WT_ITEM key1, key2;
+    size_t match;
     u_int i;
+    int cmp;
 
-    WT_UNUSED(session);
+    collator = S2BT(session)->collator;
 
     /*
      * Update the skiplist elements referencing the new WT_INSERT item. If we fail connecting one of
@@ -32,6 +36,16 @@ __insert_simple_func(
         WT_INSERT *old_ins = *ins_stack[i];
         if (old_ins != new_ins->next[i] || !__wt_atomic_cas_ptr(ins_stack[i], old_ins, new_ins))
             return (i == 0 ? WT_RESTART : 0);
+        if (i == 0 && prev != NULL) {
+            /*WT_ASSERT(session, prev->next[0] == new_ins);*/
+            match = 0;
+            key1.data = WT_INSERT_KEY(prev);
+            key1.size = WT_INSERT_KEY_SIZE(prev);
+            key2.data = WT_INSERT_KEY(new_ins);
+            key2.size = WT_INSERT_KEY_SIZE(new_ins);
+            WT_RET(__wt_compare_skip(session, collator, &key1, &key2, &cmp, &match));
+            WT_ASSERT(session, cmp < 0);
+        }
     }
 
     return (0);
@@ -43,9 +57,15 @@ __insert_simple_func(
  */
 static inline int
 __insert_serial_func(WT_SESSION_IMPL *session, WT_INSERT_HEAD *ins_head, WT_INSERT ***ins_stack,
-  WT_INSERT *new_ins, u_int skipdepth)
+  WT_INSERT *prev, WT_INSERT *new_ins, u_int skipdepth)
 {
+    WT_COLLATOR *collator;
+    WT_ITEM key1, key2;
+    size_t match;
     u_int i;
+    int cmp;
+
+    collator = S2BT(session)->collator;
 
     /* The cursor should be positioned. */
     WT_ASSERT(session, ins_stack[0] != NULL);
@@ -66,6 +86,16 @@ __insert_serial_func(WT_SESSION_IMPL *session, WT_INSERT_HEAD *ins_head, WT_INSE
         WT_INSERT *old_ins = *ins_stack[i];
         if (old_ins != new_ins->next[i] || !__wt_atomic_cas_ptr(ins_stack[i], old_ins, new_ins))
             return (i == 0 ? WT_RESTART : 0);
+        if (i == 0 && prev != NULL) {
+            /*WT_ASSERT(session, prev->next[0] == new_ins);*/
+            match = 0;
+            key1.data = WT_INSERT_KEY(prev);
+            key1.size = WT_INSERT_KEY_SIZE(prev);
+            key2.data = WT_INSERT_KEY(new_ins);
+            key2.size = WT_INSERT_KEY_SIZE(new_ins);
+            WT_RET(__wt_compare_skip(session, collator, &key1, &key2, &cmp, &match));
+            WT_ASSERT(session, cmp < 0);
+        }
         if (ins_head->tail[i] == NULL || ins_stack[i] == &ins_head->tail[i]->next[i])
             ins_head->tail[i] = new_ins;
     }
@@ -102,7 +132,7 @@ __col_append_serial_func(WT_SESSION_IMPL *session, WT_INSERT_HEAD *ins_head, WT_
     }
 
     /* Confirm position and insert the new WT_INSERT item. */
-    WT_RET(__insert_serial_func(session, ins_head, ins_stack, new_ins, skipdepth));
+    WT_RET(__insert_serial_func(session, ins_head, ins_stack, NULL, new_ins, skipdepth));
 
     /*
      * Set the calling cursor's record number. If we extended the file, update the last record
@@ -166,8 +196,8 @@ __wt_col_append_serial(WT_SESSION_IMPL *session, WT_PAGE *page, WT_INSERT_HEAD *
  */
 static inline int
 __wt_insert_serial(WT_SESSION_IMPL *session, WT_PAGE *page, WT_INSERT_HEAD *ins_head,
-  WT_INSERT ***ins_stack, WT_INSERT **new_insp, size_t new_ins_size, u_int skipdepth,
-  bool exclusive)
+  WT_INSERT ***ins_stack, WT_INSERT *prev, WT_INSERT **new_insp, size_t new_ins_size,
+  u_int skipdepth, bool exclusive)
 {
     WT_DECL_RET;
     WT_INSERT *new_ins;
@@ -184,11 +214,11 @@ __wt_insert_serial(WT_SESSION_IMPL *session, WT_PAGE *page, WT_INSERT_HEAD *ins_
             simple = false;
 
     if (simple)
-        ret = __insert_simple_func(session, ins_stack, new_ins, skipdepth);
+        ret = __insert_simple_func(session, ins_stack, prev, new_ins, skipdepth);
     else {
         if (!exclusive)
             WT_PAGE_LOCK(session, page);
-        ret = __insert_serial_func(session, ins_head, ins_stack, new_ins, skipdepth);
+        ret = __insert_serial_func(session, ins_head, ins_stack, prev, new_ins, skipdepth);
         if (!exclusive)
             WT_PAGE_UNLOCK(session, page);
     }
@@ -207,6 +237,10 @@ __wt_insert_serial(WT_SESSION_IMPL *session, WT_PAGE *page, WT_INSERT_HEAD *ins_
     __wt_cache_page_inmem_incr(session, page, new_ins_size);
 
     /* Mark the page dirty after updating the footprint. */
+#ifdef HAVE_DIAGNOSTIC
+    if (!exclusive || simple)
+        WT_READ_BARRIER();
+#endif
     __wt_page_modify_set(session, page);
 
     return (0);
diff --git a/test/evergreen.yml b/test/evergreen.yml
index 8fe8ef67f..3aac006c3 100755
--- a/test/evergreen.yml
+++ b/test/evergreen.yml
@@ -2507,6 +2507,7 @@ tasks:
 
   - name: fops
     tags: ["pull_request"]
+    exec_timeout_secs: 43200
     depends_on:
     - name: compile
     commands:
@@ -2520,7 +2521,9 @@ tasks:
             if [ "Windows_NT" = "$OS" ]; then
               cmd.exe /c test_fops.exe
             else
-              ${test_env_vars|} ./test_fops
+              for i in $(seq ${times|100}); do
+                  ${test_env_vars|} ./test_fops
+              done
             fi
 
   - name: bench-tiered-push-pull
@@ -3456,8 +3459,9 @@ tasks:
           times: 1       # No of times to run the loop
           no_of_procs: 10 # No of processes to run in the background
 
-  - name: split-stress-test
+  - name: split-stress-test-1
     tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
     commands:
       - func: "get project"
       - func: "compile wiredtiger"
@@ -3469,10 +3473,211 @@ tasks:
           script: |
             set -o errexit
             set -o verbose
-            for i in {1..10}; do ${test_env_vars|} ${python_binary|python3} split_stress.py; done
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-2
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-3
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-4
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-5
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-6
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-7
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
 
-  - name: split-stress-test-nonstandalone
+  - name: split-stress-test-8
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-9
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-10
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-11
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-12
+    tags: ["stress-test-1", "stress-test-zseries-1"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-1
     tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
     commands:
       - func: "get project"
       - func: "compile wiredtiger"
@@ -3485,7 +3690,180 @@ tasks:
           script: |
             set -o errexit
             set -o verbose
-            for i in {1..10}; do ${test_env_vars|} ${python_binary|python3} split_stress.py; done
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-2
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-3
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-4
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-5
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-6
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-7
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-8
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-9
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
+
+  - name: split-stress-test-nonstandalone-10
+    tags: ["stress-test-1-nonstandalone"]
+    exec_timeout_secs: 43200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          NONSTANDALONE: -DWT_STANDALONE_BUILD=0
+          CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake
+      - command: shell.exec
+        params:
+          working_dir: "wiredtiger/bench/workgen/runner"
+          script: |
+            set -o errexit
+            set -o verbose
+            for i in $(seq ${times|150}); do
+                ${test_env_vars|} ${python_binary|python3} split_stress.py
+            done
 
   - name: format-stress-zseries-test
     tags: ["stress-test-zseries-1"]
