Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Demo script: Velocity

An eight-minute video script for Exponential Velocity, the persistent-worker application server - install the engine package off camera, start and check it, read the cache headers, look at the built-in dashboard, and…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/press/demo-script-velocity.md

On this page

Demo script: Velocity

This page is for creators who show Exponential Velocity, the application server that "boots once and keeps a pool of workers alive" (Velocity). Speed is the topic where videos most often say more than the sources do. This script shows how Velocity works and quotes only the documented figures, with their method. It runs about eight minutes, in a terminal and a browser.

Velocity arrived in the 6.0.15 line (./console exp:velocity), the current release line; the engine package has its own version numbers (Exponential Velocity 0.0.4.x). Say both on camera.

Contents

  1. Off camera: install and prepare
  2. The script
  3. Talking about speed
  4. What never to show
  5. Recovering on camera

Off camera: install and prepare

The engine is required by Exponential's composer.json, so composer install brings it; from its release 0.0.4.54 it needs PHP 8.0 or later, and the sockets extension (Serving the site, 8.3.1):

composer install                                                   # brings the engine the kernel's composer.json requires
php bin/php/console exp:velocity ext check                         # missing PHP extensions, with the install command
php bin/php/console exp:velocity config set --apply ServerSettings Engine qbix

Read the version from the require block of the kernel's composer.json: on 29 October 2026 it was ~0.0.4.57, as the README and the installation book show. The tilde accepts every later 0.0.4.x.

The shipped default engine is php (PHP's built-in server, for development only); qbix is the recommended engine and FrankenPHP the production-ready alternative. Shipped ports: qbix 8088 (HTTP) and 8080 (HTTPS), frankenphp 8089 and 8444, php 8087. Start it once off camera and set the control panel password from the command line, so the password never appears on screen (Velocity control panel).

The script

TimeOn screenDoSay
0:00Title cardDisclosure. "Exponential Velocity, the application server for Exponential, on my own test machine."
0:20Terminal"Classic PHP hosting starts the application for every request and tears it down after. Velocity loads it once and keeps workers alive between requests."
1:00Terminal./console exp:velocity start"One command starts the server and shows its status."
1:30Terminal./console exp:velocity status"It lists every address to open, the HTTPS address beside the plain one, and whether the caches get shared memory."
2:15BrowserOpen the site's HTTPS address"HTTPS from the first start: a self-signed certificate is made for me; my own certificates are used when I name them." Accept the browser warning off camera if you can
3:00Browser developer tools, NetworkReload the front page twice"The first answer is rendered; the second has X-Cache: HIT: answered from the server's response cache." (Velocity response cache)
4:00BrowserOpen /Q/dashboard (signed in to the panel)"The server's own dashboard: live requests, workers, memory, status codes, top paths, without a refresh."
5:00Terminal./console exp:velocity graceful"Workers reload one at a time; the port keeps answering."
5:45Terminal./console exp:velocity cache clear --apply"After a template or stylesheet change, this clears every cache."
6:30Title cardSpeed, as below. Then: "The commands and the method are linked below."

./console is a shortcut you create with ln -s bin/php/console console; without it, type php bin/php/console.

Talking about speed

Say only what the README documents, and say how it was measured:

"The README documents 0.36 milliseconds of server work per cached page, measured as a median over hundreds of
requests, and 8,941 requests per second sustained on a 12-core machine serving a real page, with zero errors up to
384 connections. It says these are reproducible with scripts that ship with the project. Most of the speed came from
fixing Exponential and its caches, which helps wherever it runs."
  • To measure yourself: ./console exp:benchmark --allow-root-user, or two servers back to back with --compare=<first address>,<second address> (Benchmarking).
  • The guide warns: "One run on a busy machine proves little." A measurement during a recording on a laptop is a demonstration, not a result. Say that on camera if you show one.
  • Never turn the figures into "N times faster than <another product>": no published comparison supports it (Comparisons done fairly explains why).

What never to show

Never on screenWhy
The control panel password, the documented default key, qbixctl panel:password outputIt signs in to the server
A dashboard address with ?token=...The token opens the dashboard
Certificate private keys, var/vc/ contents, /etc/vc/ or /etc/qbix/ filesKeys and configuration
settings/override/Database credentials
Public IP addresses or host names of a real serverUse localhost on a demo machine

Recovering on camera

What happensWhat to do
The start refuses: no process isolation or no opensslRun exp:velocity ext check off camera; it prints the install command
A change does not showWorkers keep the application in memory: exp:velocity restart, or deploy for a PHP change
./console exp:vc says the command was not foundUse exp:velocity; the documentation records that the alias is not found on this tree
The dashboard answers 403Sign in to the panel first, off camera

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x