目前,从我们的前端java Web应用程序,我们使用cgi脚本来触发perl脚本,以对后端数据存储区执行任何操作。但是当用户采取多个动作时它非常慢。有没有办法同时采取行动?
我可以同时发送多个cgi来实现此目的,但浏览器一次只允许6个活动连接到服务器。
答案 0 :(得分:0)
正如@duffymo指出的那样,尝试同时推送太多cgi调用并不是一个好主意。但也许您不希望Java客户端直接访问数据库。试着回答你的问题,我会说你有几个行动方案。
一种方法是尝试使perl CGI代码更快。您是否考虑过使用Fast CGI或类似的东西?它通常不需要过多地更改perl CGI,您将获得更快的响应时间。例如CGI::Fast,只需对CGI程序稍作修改即可:
while (new CGI::Fast) {
<Your previous CGI code goes here>
}
它的作用是让一个或多个 perl 进程等待 http 客户端,以便更快地处理请求。它需要在服务器端进行一些配置。
另一种做法是mod_perl。还有其他选择。所有这些都需要对服务器端的 perl 代码和一些配置(可能是模块安装)进行一些更改。
另一种方法可能是创建一个新的Web服务(在 perl 中或您感到自信的任何其他语言)并将客户端请求组合在一起。这样做,您只需一次请求就可以多次调用遗留的 perl 脚本。
主Web服务将接受一个包含许多请求的宏请求,并根据需要调用 perl 脚本。