PHPackages                             8ctopus/hstat - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. 8ctopus/hstat

ActiveApplication

8ctopus/hstat
=============

test webpage speed command line tool

1.1.1(1y ago)04MITPHP

Since Aug 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/8ctopus/hstat)[ Packagist](https://packagist.org/packages/8ctopus/hstat)[ Docs](https://github.com/8ctopus/hstat)[ RSS](/packages/8ctopus-hstat/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (12)Used By (0)

hstat
=====

[](#hstat)

[![license](https://camo.githubusercontent.com/25c184a48bdffc8d6faa798d84154d012268c2e666437d6fc0b352cee4ad9248/68747470733a2f2f706f7365722e707567782e6f72672f3863746f7075732f68737461742f6c6963656e7365)](https://packagist.org/packages/8ctopus/hstat)[![lines of code](https://raw.githubusercontent.com/8ctopus/hstat/image-data/lines.svg)](https://raw.githubusercontent.com/8ctopus/hstat/image-data/lines.svg)

hstat is a command line tool to test the performance of webpages.

It was inspired from the works of @talhasch [php-httpstat](https://github.com/talhasch/php-httpstat) and @reorx [httpstat](https://github.com/reorx/httpstat) and adds a few improvements:

- standalone
- iterations with pause in between
- data set analysis: average, median, max and min.

how to install
--------------

[](#how-to-install)

You have the choice between:

- composer install `composer require 8ctopus/hstat`
- download the phar
- or build it yourself

```
curl -LO https://github.com/8ctopus/hstat/releases/download/1.1.1/hstat.phar

# check hash against the one published under releases
sha256sum hstat.phar

# make phar executable
chmod +x hstat.phar

# rename phar (optional)
mv hstat.phar hstat

# move phar to /usr/local/bin/ (optional)
mv hstat /usr/local/bin/
```

how to use
----------

[](#how-to-use)

### basic

[](#basic)

```
$ hstat speed https://octopuslabs.io/

 --- ----------------- --------------------- -------------------- ------------------------ ----------------------- ------------
  /   DNS lookup (ms)   TCP connection (ms)   TLS handshake (ms)   server processing (ms)   content transfer (ms)   total (ms)
 --- ----------------- --------------------- -------------------- ------------------------ ----------------------- ------------
  1   16                237                   767                  156                      0                       1176
 --- ----------------- --------------------- -------------------- ------------------------ ----------------------- ------------
```

### advanced

[](#advanced)

measure website speed 10 iterations, 3 seconds pause in between, show median, average, min and max

```
$ hstat speed --iterations 10 --pause 3000 --median --average --min --max https://octopuslabs.io/
 ----- ----------------- --------------------- -------------------- ------------------------ -----------------------
  /     DNS lookup (ms)   TCP connection (ms)   TLS handshake (ms)   server processing (ms)   content transfer (ms)
 ----- ----------------- --------------------- -------------------- ------------------------ -----------------------
  1     21                69                    96                   67                       1
  2     14                74                    102                  73                       2
  3     12                114                   93                   69                       0
  4     21                68                    106                  68                       1
  5     14                92                    97                   67                       1
  6     28                72                    132                  364                      1
  7     22                72                    99                   72                       1
  8     14                86                    110                  69                       1
  9     8                 102                   92                   74                       1
  10    12                67                    87                   68                       1

  med   14                73                    98                   69                       1
  avg   17                82                    101                  99                       1
  min   8                 67                    87                   67                       0
  max   28                114                   132                  364                      2
 ----- ----------------- --------------------- -------------------- ------------------------ -----------------------
```

**NOTE**: when testing a website with a self-signed SSL certificate, add the argument `--arguments="--insecure"`

#### definitions

[](#definitions)

- DNS lookup : time to lookup the server's IP address
- TCP connection : time to establish the connection with the server
- TLS handshake : time to establish a secured connection between you and the server (for https only)
- server processing : time the server took to process the request (apache/nginx + php)
- content transfer : time to transfer the page to you

#### Xdebug cookie example

[](#xdebug-cookie-example)

```
hstat speed --iterations 10 --median --average --min --max --arguments="--cookie \"XDEBUG_SESSION=mysession\"" https://octopuslabs.io/
```

build phar
----------

[](#build-phar)

```
./build.sh
```

improvement ideas
-----------------

[](#improvement-ideas)

- add headers option
- add specific header option
- make speed command default command
- export to csv
- parallel curl requests
- make comparisons possible
- fix json\_decode locale issue with curl command - [curl/curl#1037](https://github.com/curl/curl/issues/1037)
- remove TLS column when http request
- support for concomitant requests
- more stats
- add test progress indicator

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance41

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~148 days

Recently: every ~346 days

Total

11

Last Release

627d ago

Major Versions

v0.0.6 → v1.0.02020-11-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/4dafd5f7ef8134a5c9b231686c5da3d6416db09139b45aac0b26952178dffb8a?d=identicon)[8ctopus](/maintainers/8ctopus)

---

Top Contributors

[![8ctopus](https://avatars.githubusercontent.com/u/13252042?v=4)](https://github.com/8ctopus "8ctopus (78 commits)")

---

Tags

performancewebpagespeed

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/8ctopus-hstat/health.svg)

```
[![Health](https://phpackages.com/badges/8ctopus-hstat/health.svg)](https://phpackages.com/packages/8ctopus-hstat)
```

###  Alternatives

[phpbench/phpbench

PHP Benchmarking Framework

2.0k13.0M627](/packages/phpbench-phpbench)[putyourlightson/craft-blitz

Intelligent static page caching for creating lightning-fast sites.

153471.5k29](/packages/putyourlightson-craft-blitz)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[angus-mcritchie/blade-boost-directive

Lightning-Fast Blade Components with `@boost` Directive

3910.0k](/packages/angus-mcritchie-blade-boost-directive)[sarfraznawaz2005/indexer

Laravel package to monitor SELECT queries and offer best possible INDEX fields.

562.7k](/packages/sarfraznawaz2005-indexer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
