加载进程以运行webrequest

Loading a process to run a webrequest

本文关键字:webrequest 运行 进程 加载      更新时间:2023-10-16

当我在之前的工作单位是一家搜索引擎公司时,我注意到他们有使用c++构建的可执行文件,这些文件可以通过cgi脚本通过命令行参数调用来为每个web请求提供服务。(如。,当用户点击搜索按钮时)

我不能理解完整的大局,但惊讶于为每个用户请求启动一个新进程会有多少开销,因为操作系统加载器必须映射进程空间等(这是unix solaris)

是过时的技术,还是我错过了什么?(如。(如果流程启动可以通过创建永久映射来优化,那么他们就会这样做)。或者是否有更好的替代方案来运行c++代码的webrequest?

Solaris可能针对这种用法进行了很好的优化。是的,它必须初始化进程内存,但它可能可以重用很多工作,只有几kb真正需要复制。

为每个请求加载一个进程的唯一替代方法是允许服务器进程内的可扩展性。这可能会影响稳定性,对服务器扩展施加限制,并对程序员提出额外的要求。性能上的好处可能并不值得。

如果性能优势是值得的,那么您可以将应用程序重写为扩展/模块/servlet/任何东西