Skip to content
Back to skills

Profile Performance Certus Api Bench

ASecurity

Measure system performance of this platform using

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
devopsapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add AI-native-Systems-Research/ai-native-storage-certus --skill profile-performance-certus-api-bench --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Profile Performance Certus Api Bench?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Profile Performance Certus Api Bench
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ai-native-systems-research-profile-performance-certus-api-bench/badge)](https://www.skillsdirectory.com/skills/ai-native-systems-research-profile-performance-certus-api-bench)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: profile-performance-certus-api-bench
description: Measure system performance of this platform using
argument-hint: "[output-dir]"
---

The purpose of this skill is to capture a snapshot of performance by running certus-server (release build) and certus-api-bench.py.

Create the output directory from the output-dir argument, for example:
  mkdir -p <output-dir>
Write PROFILE.md to <output-dir>/PROFILE.md.

Collect data for combinations of the following parameters:
1. SSD device count D (1..N), where N is the number of detected SSD PCI devices.
   Detect available SSDs via `lspci -d <vendor>:<device>` or equivalent, sort PCI addresses lexicographically,
   and use the first D addresses.
   Pass each selected device as repeated flags:
     --device-pci <PCI1> --device-pci <PCI2> ... --device-pci <PCID>
   If D > N, skip that combination and record `SKIPPED: requested D > available N` in PROFILE.md.
2. Memory tier size: 4GB, 8GB, 16GB with `--memory-tier-size <bytes>` (use bytes, e.g. 4294967296).
3. Number of clients: 1, 2, 4, 8, 16 with `certus-api-bench --clients <count>`.
4. Cache block size: 1MB, 2MB, 4MB, 5MB with `certus-api-bench --block-size <bytes>` (use bytes, e.g. 1048576).
5. Batch size: 8, 16, 32, 64 with `certus-api-bench --batch-size <count>`.
6. Objects per lookup batch: 16, 32 with `certus-api-bench --num-objects <count>`.
7. Iterations: 10, 20, 50 with `certus-api-bench --iterations <count>`.

Other requirements:
- Run certus-server with `--format`.
- Run a full factorial Cartesian product across the listed values. If the total number of combinations exceeds 200, sample uniformly at random to 200 combinations and document the strategy in PROFILE.md.
- Execute experiments sequentially by default, restarting certus-server between combinations and avoiding parallel runs.
- For each combination:
  a. Stop any running certus-server.
  b. Start certus-server with the selected `--device-pci` flags, `--memory-tier-size`, and `--format`.
  c. Retry startup up to 3 times with a 5s delay if it fails. If startup still fails, record the combination as FAILED in PROFILE.md with stderr and continue.
  d. After a healthy start, run a 1-iteration warm-up of certus-api-bench before measurement.
  e. Run the measured iterations.
  f. If certus-api-bench exits non-zero, capture stdout/stderr to `<output-dir>/logs/<run-name>.log`, mark the run as ERROR in PROFILE.md, retry once, and if still failing continue to the next combination.
  g. Stop certus-server and collect logs.
- For each run write raw JSON to:
    <output-dir>/results/devicecount-<D>_mem-<M>_clients-<C>_bs-<B>_batch-<X>_objs-<O>_iter-<I>.json
  and a human-readable log to:
    <output-dir>/logs/devicecount-<D>_mem-<M>_clients-<C>_bs-<B>_batch-<X>_objs-<O>_iter-<I>.log

Run combinatorial experiments and build a result table in <output-dir>/PROFILE.md.

PROFILE.md must include a table with columns:
  device_count | pci_list | memory_tier_size_bytes | clients | block_size_bytes | batch_size | num_objects | iterations | throughput_GB_per_sec (populate) | throughput_GB_per_sec (hot lookup) | throughput_GB_per_sec (cold lookup) | notes

Include raw output file links and log links in PROFILE.md.

Summarize the data and identify performance anomalies.

Create a plot with Y-axis throughput, X-axis device_count for:
1. Populate
2. Lookup (hot)
3. Lookup (cold)

Save plot in output directory.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.