Session对性能测试的影响(2)

发表于:2013-03-27来源:网易杭州 QA Team作者:侯本文点击数: 标签:session
server 10.120.36.97:8010 srun_id=qa19-8010; jvm_route $cookie_NTESSTUDYSI reverse; keepalive 100; } 该配置文件中配置了一个Nginx连接两个Tomcat,当请求过来时,会依据SessionID中的

  server 10.120.36.97:8010 srun_id=qa19-8010;

  jvm_route $cookie_NTESSTUDYSI reverse;

  keepalive 100;

  }

  该配置文件中配置了一个Nginx连接两个Tomcat,当请求过来时,会依据SessionID中的后缀来查找请求发送到哪个Tomcat,例如NTESSTUDYSI=1816E5ECBC052F6ABA420FEE7B06DA86.qa18-8010;就会把带这个SessionID的请求发送到 10.120.36.68(qa18)这台机器上去。

  在qa18这台机器的Tomcat配置文件server.xml中,会设置jvmRoute="qa18-8010",这样保证生成的SessionID的后缀是qa18-8010,如果这个两个后缀不一致的话,同样会出现问题。

  例如如果Nginx配置文件中upstream.conf中设置的srun_id=qa18-8010,而tomcat配置文件中设置的jvmRoute="qatest18-8010",那么获取Cookie得到的SessionID后缀则为qatest18-8010,当发送请求到Nginx时,检测到SessionID的后缀和设置的server服务器无法匹配,则会丢失session,使得发送到Tomcat的动态请求依旧是没有Session信息的请求,造成session丢失,测试过程中还会有session不断的创建。

  参考文档:

  1. http://www.chinahtml.com/1007/128010707619425.html Cookie 和 Session区别

  2. http://lgcpeter.iteye.com/blog/187893 Session过期时间设置

  3. http://java.chinaitlab.com/base/802833.html 大话Session

  4. http://www.360doc.com/content/12/0619/10/1073512_219153481.shtml JVM_Route

原文转自:http://qa.blog.163.com/blog/static/19014700220132554652728/