樓主是要重現,樓上還減壓。那怎麼重現。單獨創建一個頁面,裡面生成session。
然後用多臺server apache ab 並發連接。
目的模擬多用戶並發。
然後用多臺server apache ab 並發連接。
目的模擬多用戶並發。
解决方案 »
- textarea 换行有新问题
- 求正则表达式 匹配<script >中间没有“<script >”</script>
- 在redhat7.2下用系统自带的apache server运行php不能连接mysql?急!
- 如何实现跳转?
- 高手帮我解决一个问题
- 我用FTP上传速度很快,但是用PHP中的COPY上传速度却很慢,有时候根本就传不上去,以前不会这样子的,谁能告诉我这是什么原因(LINUX服务
- 网站整体架构问题
- 急问,,,,,,好看不下去了,等到答案
- 怎么用PHP在MySQL的表中分页?
- 想要实现手机动态注册和发送动态码的登录功能,仿美团的..
- eclipse-php调试PHP代码不能自动追踪
- 用习惯了EasyPHP,但是不支持命名空间,请问如何设置
用过了,可是ab达不到我想要的效果,session没失效,而且使用ab -n10000 -c 1000 的时候,每一次我 ps aux|grep httpd 查看到的进程数只有13个左右,因为这个页面处理速度太快了,进程刚创建就结束了,所以其实达不到真实的并发1000的效果(并发也就十几而已)。后来我写shell并发写入文件,并发数达到几十个,也达不到文件IO过大导致文件丢失的效果
无论是 ab 还是 shell 都不能接收和发送 cookie 吧?没了 cookie 你怎么知道 session 丢失了呢?
首先,我试过sleep了,可是后来想了,sleep操作知识让脚本停在那里,这多出来的sleep时间没有操作所以对并发的意义不大吧。如果session丢失的原理是多文件高并发写入IO过大导致的session丢失,那么我用命令行并发执行多个数据的写操作,如果部分文件丢失了是否就能一定程度上证明session丢失的原理呢?
你用 ps aux|grep httpd 观察到的只是正在运行的进程,不能说明任何问题你 #5 的 如果部分文件丢失了是否就能一定程度上证明session丢失的原理呢?
这个前提就是有问题的,文件未能建立果然是一种原因,文件存在却又读不出来才是根本的
有时能读出,有时不能读出,这才叫“丢失”
首先,我试过sleep了,可是后来想了,sleep操作知识让脚本停在那里,这多出来的sleep时间没有操作所以对并发的意义不大吧。如果session丢失的原理是多文件高并发写入IO过大导致的session丢失,那么我用命令行并发执行多个数据的写操作,如果部分文件丢失了是否就能一定程度上证明session丢失的原理呢?我也碰到这个问题了,多文件高并发写入IO过大导致的session丢失,但文件不会丢失,下面是我的测试程序,监测session变化你得另写个文件
我怀疑跟服务器硬件有关,在我电脑上怎么测session都不会丢,在服务器上一下就丢了,我的服务器是vps,内存很低
希望有更多人关注这个问题
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%option explicit%>
<% Response.CodePage=65001%>
<% Response.Charset="UTF-8" %>
<%
Dim test, filepath, data
data = "中华人民共和国"
dim i
for i = 1 to 1000
filepath = server.MapPath("\test\" & i & ".asp")
response.write filepath & "<br>"
Call wf(filepath, data)
next
set test = nothing
Function wf(ByVal path, ByVal content)
Dim m_fso, m_txt
Set m_fso = server.CreateObject("Scripting.FileSystemObject")
Set m_txt = m_fso.OpenTextFile(path, 2, True)
m_txt.Write (content)
m_txt.Close
Set m_fso = Nothing
wf = True
If Err Then
wf = False
End If
End Function
%>
但是这不是解决之道啊
for j = 1 to 500000
next