QtCore对于服务器端使用来说太'heavy'了吗?

Is QtCore too 'heavy' for server-side use?

本文关键字:heavy 了吗 服务器端 QtCore      更新时间:2023-10-16

我正在考虑使用Qt库编写一个自包含的http服务器,尽管许多人认为QtCore过于臃肿,开销太大。使用线程池,QtCore http服务器是否可以管理大约50个并发连接的负载?

QtCore库是在arch Linux上动态链接的,经过优化编译后发布o2

没有理由不能用Qt编写服务器,但是,确实没有办法事先告诉性能是否会达到您想要的效果(取决于您的服务器做什么)。请注意,并发线程的最佳数量通常取决于硬件内核的数量以及程序中的并行性级别。我的建议是尽可能在最短的时间内实现任何功能,然后根据需要调整性能。即使服务器不能处理那么多并发连接,您也可以使用进程级并行性(运行多线程服务器的多个实例),直到您提高了性能。

你的问题很广泛,答案取决于你想如何设计你的http服务器。您可以将其设计为"单线程反应器"或"多线程反应器"或"半同步半异步"服务器。

QT主要使用小包装类在本机或posix api和带来自己的超重,50个连接听起来并不太多,但答案再次取决于这些连接将做什么?提供简单的页面还是执行繁重的计算?

我认为这个项目的困难在于实现一个完整的http服务器,它是安全的,可靠的和可扩展的。为了提供简单Java servlet模型的生命周期,您必须编写大量代码。需要许多接口/抽象。

你可以找到已经测试过的开源http服务器。我甚至不会为自己编写生产软件而烦恼。

50个连接并不多。

但是我希望你能添加QtNetwork模块:-)