Enable pre-warm cache + faster Playwright config

Restore page pre-warming at HTTP server startup (was skipped) and
increase render workers from 2→4. Tighten Playwright timeouts and
run 3 workers in parallel for faster test runs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-30 00:00:46 +00:00
parent e8d6aa1198
commit 6845ced98f
2 changed files with 9 additions and 5 deletions

View File

@@ -2044,8 +2044,11 @@ let http_mode port =
"/sx/(language)"; "/sx/(applications)";
"/sx/(geography.(reactive))"; "/sx/(geography.(hypermedia))";
] in
ignore cache_response;
Printf.eprintf "[sx-http] Skipping pre-warm (render on demand)\n%!";
let t_warm = Unix.gettimeofday () in
List.iter cache_response _warmup_paths;
let n_cached = Hashtbl.length response_cache in
Printf.eprintf "[sx-http] Pre-warmed %d pages in %.3fs\n%!"
n_cached (Unix.gettimeofday () -. t_warm);
(* Write full response to a socket *)
let write_response client response =
@@ -2080,7 +2083,7 @@ let http_mode port =
- Cache misses: queued to render workers (domain pool)
- Never blocks on rendering — accept loop always responsive *)
let n_workers = max 2 (Domain.recommended_domain_count ()) in
let n_workers = max 4 (Domain.recommended_domain_count ()) in
(* Render queue: for cache misses that need full page render *)
let render_queue : (Unix.file_descr * string) list ref = ref [] in

View File

@@ -4,12 +4,13 @@ const { defineConfig } = require('playwright/test');
module.exports = defineConfig({
testDir: __dirname,
testMatch: '*.spec.js',
timeout: 60000,
timeout: 30000,
retries: 0,
workers: 1,
workers: 3,
use: {
baseURL: process.env.SX_TEST_URL || 'http://localhost:8013',
headless: true,
actionTimeout: 10000,
},
projects: [
{ name: 'chromium', use: { browserName: 'chromium' } },