我们有几千个目录,其页面每天被访问多达 50 万次。在每个页面点击结束时,我们将一些 CGI 变量插入到数据库中。如果提交了表单或执行了搜索,我们会将其中的一些信息插入到另一个数据库中。不需要从这些数据库插入中的每一个返回任何信息。这些插入发生在页面处理结束时。
我已经读过,一旦启动“运行”线程,页面处理就会继续并且不会等待响应。这似乎会加快页面的完成速度,因为它不等待页面中的查询运行。这个对吗?
像这样将这些数据库插入到他们自己的线程中是否有任何好处?
<cffunction
name="OnRequest"
access="public"
returntype="void"
output="true"
hint="Fires after pre page processing is complete.">
<cfargument name="RequestedContent" type="string" required="true" />
<!--- OUTPUT THE PAGE CONTENT --->
<cfinclude template="#ARGUMENTS.RequestedContent#" />
<cfscript>
thread
action="run"
name="Tracking" {
include "track1.cfm";
include "track2.cfm";
}
</cfscript>
<cfreturn />
</cffunction>