基于CGI-BIN的Web开发的主要缺点是什么? [英] What were the main disadvantages of CGI-BIN based web development?
问题描述
我很幸运,没有任何基于cgi-bin .cgi的网页开发。但通常那些谁似乎没有'错过'那些日子。
我最近加入的一个项目在处理需要与具有基于CGI-BIN的API的遗留系统通信的页面时遇到性能问题。该系统是COGNOS 7.
我迄今收到的反馈意见是'COGNOS速度很慢',但其他人报告说COGNOS取得了巨大成功,我认为它有更多通过CGI-BIN进行访问,而不是COGNOS的性能。
所有这些都说明了基于CGI-BIN的Web开发的主要问题是什么非高性能,困难等等。
基于CGI-BIN的系统的基本架构问题是每个HTTP请求要求服务器启动一个新的进程。这会以多种方式影响性能:
- 启动进程非常昂贵,因为程序中的OS页面会设置进程等等。
- 资源无法在请求间共享,因此必须为每个请求设置任何数据库连接等。
- 用户会话状态不能保存在内存中,因此必须在每个请求中保存
I was fortunate enough to not do any cgi-bin .cgi based web development. But generally those who have do not seem to 'miss' those days.
A project I recently joined has a performance issue when dealing with the pages that need to communicate to a legacy system that has a CGI-BIN based API. That system is COGNOS 7.
The feedback I received to date is that 'COGNOS is slow' but others have reported great success with COGNOS, I am thinking it has more to do with the access via CGI-BIN and not the performance of COGNOS in and of itself.
All that said what are the main issues that made CGI-BIN based web development non-performant, difficult, etc...
The fundamental architectural issue with CGI-BIN based systems is that each HTTP request requires the server to start a new process. This affects performance in a number of ways:
- It's expensive to start the process, as the OS pages in the program, sets up the process, etc.
- Resources can not be shared across requests, so that any DB connections, etc. have to be set up with each request
- User session state can not be preserved in memory, so it has to be persisted with each request
这篇关于基于CGI-BIN的Web开发的主要缺点是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!