stekel / laravel-bench
Apache-Bench的PHP封装,支持Laravel集成。
v2.0.7
2021-12-08 21:50 UTC
Requires
- php: >7.4
- illuminate/console: ^5.5 || >6.0
- illuminate/support: ^5.5 || >6.0
- laravel/helpers: ^1.1
Requires (Dev)
- phpunit/phpunit: ^8.0
- roave/security-advisories: dev-latest
README
Apache-Bench的PHP封装,支持Laravel集成
要求
- PHP >= 7.0
- ApacheBench
$ ab
安装
Laravel
使用Composer安装它
composer require stekel/laravel-bench --dev
发布包配置文件
artisan vendor:publish --provider=stekel\LaravelBench\Laravel\Providers\LaravelBenchServiceProvider
用法
从Laravel应用的根目录运行以下命令
php artisan stekel:bench {test}
以下测试可用
- homepage - 向
/发送100个请求
自定义测试
在您的存储库中某处创建一个新测试并添加c
以下测试将执行100个请求(每次10个)针对主页('/')
<?php // App\Benchmarks\Homepage.php namespace stekel\LaravelBench\Assessments; use stekel\LaravelBench\Assessment; class Homepage extends Assessment { /** * Path to execute the test against * - If null, create route via slug for execution */ public ?string $path = '/'; /** * Number of requests to send at a time */ public int $concurrency = 10; /** * Number of total requests to send */ public int $requests = 100; /** * Slug to use for reference */ public string $slug = 'homepage'; }
以下测试将执行100个请求(每次10个)针对自定义路由('/'performance/large-query'),该路由由测试生成。给定的路由仅对配置文件中列出的环境有效,并将执行任何在route()函数中的代码。
<?php // App\Benchmarks\LargeQuery.php namespace App\Benchmarks; use stekel\LaravelBench\Assessment; class LargeQuery extends Assessment { public $path = null; public $concurrency = 10; public $requests = 100; public $slug = 'large-query'; public function route() { User::limit(1000)->get(); } }