Skip to content

[Discussion] 关于 uv-cpp Web 场景性能测试、QPS 基准及横向对比的咨询 #58

Description

@Antruly

你好,uv-cpp 的作者和开发者们:

感谢开源。最初看到 uv-cpp 是基于 libuv 的 C++ 项目时,我就很有兴趣。我自己也在维护一个基于 libuv 的 C++ 网络库 libuvcpp,方向类似,所以想借这个 issue 请教一些性能测试和 benchmark 相关的问题。

目前 uv-cpp 的测试似乎主要集中在底层框架,比如 event loop、timer、TCP 等。我想了解:

项目是否已经有 Web 功能相关的端到端测试,或者有相关计划?例如 HTTP/HTTPS、WebSocket、路由、JSON 等场景。

是否做过 QPS、延迟、并发连接数等基准测试?比如在 wrk / wrk2 / ab / vegeta 下的 QPS、P50 / P95 / P99、错误率、CPU 和内存占用。

是否和 Drogon、Cinatra 等 C++ Web 框架做过对比?如果有,测试环境、编译参数、压测工具、连接方式(keep-alive / 短连接 / pipeline)、请求和响应内容、线程模型是否方便公开?如果没有,是否愿意一起设计一个公平、可复现的 benchmark?

公开资料里,不少 C++ Web 框架的稳定 QPS 很难超过 10 万。uv-cpp 目前认为潜在瓶颈可能在哪里?例如日志、路由、JSON、内存分配、线程模型、syscall、锁或连接管理?

如果 uv-cpp 定位偏底层网络库,直接和 Drogon、Cinatra 比较可能不完全同级;是否更合理的方式是在其之上实现统一 HTTP 场景后再对比?

如果方便,也希望顺便给 libuvcpp 一些建议或思路。不是想引战,而是希望有一个可复现、可讨论的横向参考。

如果这个问题不适合作为 issue,也请告诉我应该去 Discussion、邮件列表还是其他渠道。感谢你们的时间。

—— Antruly

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions