symfony+swoole性能测试

2026年6月4日10:10:09

symfony的创建项目

PS C:\Users\zx\Desktop> symfony new -help
# 命令说明:新建 Symfony 项目
## 指令说明
**描述:**
创建一个全新的 Symfony 项目

**用法:**
`symfony.exe local:new [选项] [--] [<项目目录名>]`

## 参数(Arguments)
`directory`:要创建项目的文件夹目录

Options:
  --dir=value, --directory=value  Project directory
  --version=value                 The version of the Symfony skeleton (a version or one of "lts", "stable", "next", or "previous")
  --full                          Use github.com/symfony/website-skeleton (deprecated, use --webapp instead)
  --demo                          Use github.com/symfony/demo
  --skeleton=value                Skeleton to use (symfony, sulu, or a custom package name) [default: "symfony"]
  --webapp                        Add the webapp pack to get a fully configured web project
  --api                           Add the api pack to get a fully configured api project
  --book                          Clone the Symfony: The Fast Track book project
  --docker                        Enable Docker support
  --no-git                        Do not initialize Git
  --upsun                         Initialize Upsun configuration
  --cloud                         Initialize Platform.sh configuration
  --debug                         Display commands output
  --php=value                     PHP version to use

## 可选项(Options)
- `--dir=值, --directory=值`:指定项目存放目录
- `--version=值`:指定骨架版本(可填具体版本号,或 `lts`长期支持版 / `stable`稳定版 / `next`开发预览版 / `previous`上个旧版)
- `--full`:使用 website-skeleton 完整网页骨架(已废弃,请改用 `--webapp`)
- `--demo`:基于官方Demo示例项目创建
- `--skeleton=值`:选用项目骨架(可选 symfony、sulu,或自定义包名,默认:`symfony`)
- `--webapp`:安装Web应用组件包,生成配置完整的网站项目
- `--api`:安装API组件包,生成配置完整的接口项目
- `--book`:克隆《Symfony:极速入门》配套示例项目
- `--docker`:自动生成Docker配套配置文件
- `--no-git`:不自动初始化Git仓库
- `--upsun`:生成Upsun云平台配置
- `--cloud`:生成Platform.sh云平台配置
- `--debug`:打印底层执行命令详情
- `--php=值`:指定项目使用的PHP版本

### 常用创建示例

# 创建标准Web项目
symfony local:new myproject --webapp
# 创建API项目
symfony local:new api-demo --api

上面是基础的symfony框架创建,但是不适用swoole-bundle

使用组件
https://github.com/symfony-swoole/swoole-bundle

# 创建项目
composer create-project symfony/skeleton project

cd ./project

# 安装组件
composer require swoole-bundle/swoole-bundle

# 用OpenSwoole

composer require openswoole/core

# 编辑配置文件 config/bundles.php

return [
    // ...other bundles
    SwooleBundle\SwooleBundle\Bridge\Symfony\Bundle\SwooleBundle::class => ['all' => true],
];

# 运行项目
Run Swoole HTTP Server

bin/console swoole:server:run

访问项目
http://localhost:9501


测试的demo:
https://gitee.com/open-php/sy_swoole

其他的测试项目
https://gitee.com/open-php/test-swoole
项目包含

这里是不带数据库查询的,如果带数据库查询也就1000-1500,数据库限制了并发

laravel-test   ->  laravel + laravel/octane + swoole           接口延迟好一些,但是并发还是不行(100-200 QPS),并发情况下 大量 failed request
hyperf  -> 基于swoole                                           接口延迟和并发很好,4000-5000 QPS ,并发情况下 几乎没有 failed request
sy_swoole -> syfony + swoole                                    接口延迟和并发很好,3000-4000 QPS ,并发情况下 大量 failed request


经过测试性能确实不错,但是ab压测的时候,就出现 大量的 failed request,接口延迟还不错

posted on 2026-06-08 11:46  zh7314  阅读(3)  评论(0)    收藏  举报