你好,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
你好,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