docs: capture todo - Benchmark Płytarium on WinterCMS vs SummerCMS
This commit is contained in:
@@ -429,7 +429,22 @@ Recent decisions affecting current work:
|
||||
|
||||
### Pending Todos
|
||||
|
||||
None yet.
|
||||
- [2026-10-01] [docs] Benchmark Płytarium on WinterCMS vs SummerCMS and publish a measured table — [todo file](.planning/todos/pending/2026-10-01-benchmark-the-application-on-wintercms-vs-summercms.md)
|
||||
- [unknown] [summercms.go admin auth] Backend admin personal API tokens (deferred Apparatus PersonalApiToken) — [todo file](.planning/todos/pending/backend-admin-api-tokens.md)
|
||||
- [unknown] [summercms.go bonfire] Reject duplicate console command names in bonfire.NewRoot — [todo file](.planning/todos/pending/bonfire-duplicate-command-names.md)
|
||||
- [unknown] [summercms.go/fetchguard] Extend fetchguard into a guarded outbound http.Client (replaces Apparatus RequestSender) — [todo file](.planning/todos/pending/fetchguard-guarded-http-client.md)
|
||||
- [unknown] [summercms.go lagoon] lagoon README registers an after-commit GORM callback that can sort after the flush — [todo file](.planning/todos/pending/lagoon-readme-after-commit-callback-order.md)
|
||||
- [unknown] [summercms.go lagoon] lagoon.Validate reports every numeric range failure with the max message — [todo file](.planning/todos/pending/lagoon-validate-min-message.md)
|
||||
- [unknown] [summercms.go] Nest framework packages under modules/ — same beach names — [todo file](.planning/todos/pending/nest-framework-packages-under-modules.md)
|
||||
- [unknown] [summercms.go/modules] Short README.md per modules/* after the nest — [todo file](.planning/todos/pending/per-module-readmes-after-nest.md)
|
||||
- [unknown] [summercms.go/modules/*/README.md, internal/docsite] Convert module README Go code blocks to compiled src= references — [todo file](.planning/todos/pending/readme-go-fences-src.md)
|
||||
- [unknown] [summercms.go logging] Framework slog handler that redacts credentials (port RedactCredentialsTap) — [todo file](.planning/todos/pending/redacting-slog-handler.md)
|
||||
- [unknown] [../fonoteka.go/README.md] Refresh fonoteka.go README — short status plus migrate/serve/login — [todo file](.planning/todos/pending/refresh-fonoteka-readme.md)
|
||||
- [unknown] [summercms.go/README.md] Rewrite summercms.go README — onboard, recreate login, honest cutover — [todo file](.planning/todos/pending/rewrite-summercms-readme.md)
|
||||
- [unknown] [summercms.go internal/build] make:admin-controller output does not boot and names the model after the controller — [todo file](.planning/todos/pending/scaffold-admin-controller-incomplete.md)
|
||||
- [unknown] [summercms.go internal/build] Scaffolded files carry a DO NOT EDIT header, and make:command cannot reach the application — [todo file](.planning/todos/pending/scaffold-generated-header-and-command-deps.md)
|
||||
- [unknown] [summercms.go internal/build] make:model and make:migration in the same second produce migrations that run out of order — [todo file](.planning/todos/pending/scaffold-same-second-migration-order.md)
|
||||
- [unknown] [summercms.go wristband] Neutral default resource URL in wristband.DefaultOptions — [todo file](.planning/todos/pending/wristband-neutral-resource-default.md)
|
||||
|
||||
### Blockers/Concerns
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
created: 2026-10-01T18:25:06.041Z
|
||||
title: Benchmark Płytarium on WinterCMS vs SummerCMS and publish a measured table
|
||||
area: docs
|
||||
severity: minor
|
||||
files:
|
||||
- docs/architecture/performance-and-scaling.md
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
`docs/architecture/performance-and-scaling.md` (quick task 261001-qoa) only gives typical PHP-FPM vs Go ranges, explicitly marked as not measurements of SummerCMS. The user expected a more detailed comparison and wants real numbers from Płytarium, measured on both stacks.
|
||||
|
||||
## Solution
|
||||
|
||||
1. Baseline now: measure Płytarium on WinterCMS (PHP-FPM, `/media/nvme/dev/golem15/fonoteka`) before the port finishes, so the PHP numbers exist independently of the Go side.
|
||||
2. Once its API is ported (Phase 12+), measure Płytarium on SummerCMS (`fonoteka.go`).
|
||||
3. Method: record request fixtures with tide (`summer parity:record`), replay them under load with vegeta or k6 against both backends on identical hardware and the same Postgres data. Collect per-route p50/p99 latency, req/s at a fixed concurrency, max sustainable concurrency before p99 degrades, and RSS / total memory (all FPM workers vs one Go process). Group routes by shape (trivial/cached, typical CRUD, DB-heavy).
|
||||
4. Add the measured table to the performance page next to the typical-ranges table. Framework docs must not name the application: describe it as "a ported production application" and state the hardware, dataset size and tool versions.
|
||||
Reference in New Issue
Block a user