我在使用zk-plugin运行Jmeter后尝试上传文件时遇到了问题。在不运行Jmeter的情况下上传时工作正常。
它在ZK中显示一条弹出消息:
Upload Aborted : (contentId is required)
Jmeter内部:
Thread Name: Thread Group 1-1
Sample Start: 2015-04-16 17:35:15 SGT
Load time: 2
Connect Time: 0
Latency: 0
Size in bytes: 2549
Headers size in bytes: 0
Body size in bytes: 2549
Sample Count: 1
Error Count: 1
Response code: Non HTTP response code: java.io.FileNotFoundException
Response message: Non HTTP response message: 13 4 2015.txt (The system cannot find the file specified)
Response headers: HTTPSampleResult fields: ContentType: DataEncoding: null
如何解决这个问题?
答案 0 :(得分:0)
基本上ZK可能不会返回非常有意义的消息,因此可能是这个问题的不同路由原因 请查看下面的部署组件配置中的可能点,并逐个检查它们:
首先 - 检查java.io.tmpdir
指向的目录是否存在
如果您使用Tomcat java.io.tmpdir
默认设置为$CATALINA_BASE/temp
查看catalina.sh并检查$CATALINA_TMPDIR
指向的目录是否存在并且已应用相应的权限:
if [ -z "$CATALINA_TMPDIR" ] ; then
# Define the java.io.tmpdir to use for Catalina
CATALINA_TMPDIR="$CATALINA_BASE"/temp
fi
. . .
. . .
-Dcatalina.base=\"$CATALINA_BASE\" \
-Dcatalina.home=\"$CATALINA_HOME\" \
-Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
org.apache.catalina.startup.Bootstrap "$@" start
WEB-INF / zk.xml:ZK配置描述符中的max-upload-size
值(默认为5120 Kb,应该足够了)。
WEB-INF / web.xml:部署描述符中的max-file-size
和max-request-size
值:
<multipart-config>
<!-- 52MB max -->
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
conf / server.xml:连接器部分中的maxPostSize
值(POST将由容器FORM URL参数解析处理的最大字节数):
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxPostSize="67589953" />
答案 1 :(得分:0)
好像我们只能上传jmeter / bin里面的文件。我使用jmeter / bin中的一些文件上传,消息就消失了。
在录制过程中,您需要将要上传的文件放在jmeter / bin文件夹中。这是由于浏览器的一些限制,它们不传输完整路径。
参考:File upload fails during recording using JMeter,pmpm的第一个答案