本科毕设进行docker性能压测时,使用SPECweb2009 benchmark,记得当时出了很多问题,这是其中一个排错记录。
排错
测试时错误结果
WorkloadScheduler(155): [FATAL] Exceeded max allowed overthink time of 20 sec.
Please ensure that neither the server or
client(s) are overloaded.
If server is overloaded, consider reducing the number of SIMULTANEOUS_SESSIONS requested.
If client(s) appear overloaded, add more clients.
WorkloadScheduler(181): [FATAL] Exceeded max allowed overthink time of 20 sec.
Please ensure that neither the server or
client(s) are overloaded.
If server is overloaded, consider reducing the number of SIMULTANEOUS_SESSIONS requested.
If client(s) appear overloaded, add more clients.
WorkloadScheduler(11): [FATAL] Exceeded max allowed overthink time of 20 sec. Please ensure that neither the server or client(s) are overloaded.
If server is overloaded, consider reducing the number of SIMULTANEOUS_SESSIONS requested. If client(s) appear overloaded, add more clients.
排错(1)
My clients are dying with “Exceeded max allowed overthink time” errors, how do I prevent these?
Check the following items:
Ensure your clients are not overloaded.
Ensure THINK_TIME to a reasonable level.
Increase THREAD_RAMPUP_SECONDS in Test.config.
排错(2)
I’m getting invalid account values in client logs and it use to work fine.
The BeSim may need to be to restarted cleanly along with the rest of the testbed software. Try:
stopping the webserver on the SUT
stopping the BeSim webserver
remove /tmp/besim_*.globals
remove old besim access logs
check that none of your clients are running “java specwebclient” processes (kill these processes if present)
start the webserver on the SUT and on BeSim box
re-run your test
排错(3)
My clients are printing “Java.lang.OutOfMemoryError: Java heap space” errors. What can I do to eliminate these?
Invoke the client JVMs with more heap space; for example, assuming the clients have sufficient RAM, the initial and maximum heap sizes can be forced to 512MB (these values are only suggestions, and will vary depending upon system):
- java -Xms512m -Xmx512m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC specwebclient
- More information about heap size and garbage collection can be found here: http://java.sun.com/javase/technologies/hotspot/gc/index.jsp
排错(4)
How long will it take to complete a full compliant 3 iteration run for one of the 4 workloads?
- The minimum required time is: ~144 minutes (2.4 hours), with each iteration at 48 minutes. If WARMUP_SECONDS or THREAD_RAMUP_SECONDS have been increased, the test will run somewhat longer.
排错(5)
I am trying to initialize multiple physical web server systems, or multiple web server instances on one physical system, how do I do this?
List all web server instances (hostnames or IP addresses) in SERVER_LIST, and all ports in SERVER_PORT_LIST. For example, if you have two web server instances (192.2.1.1:80 and 192.2.2.1:81) on one machine, your entries should read:
- SERVER_LIST = “192.2.1.1 192.2.2.1”
- SERVER_PORT_LIST = “80 81”
排错(6)
My clients reported errors during the test but they don’t show up in my run results. Why?
- If the errors occur before the line that reads “WorkloadScheduler: Clearing statistics…”, then they occurred during warmup and thus are not counted as errors.
排错(7)
My client logs show sequences of errors that begin with SPECweb_Support: [ERROR] SocketTimeoutException encountered during run!
Occasionally the log has error sequences that begin with: Connection: [ERROR] Bad Status: 503
Your server is overloaded or under-tuned for the number of Simultaneous Sessions the test is requesting. The SocketTimeoutException error occurs when the server was unable to send a response back before the PROTOCOL_TIMEOUT_SECONDS (60 sec) has expired.The 503 status is returned by some webservers to indicate that the service is temporarily unavailable. See if reducing the load on the server eliminates these messages, if so you may wish to investigate if there is addition tuning that could be done to the SUT.
排错(8)
I am getting “Connection refused” errors. How can I fix it?
They will typically look like this:
[ERROR] Name lookup for load generator 192.168.1.211:1100: exception java.rmi.ConnectException: Connection refused to host: 192.168.1.211; nested exception is: java.net.ConnectException: Connection timed out: connect SpecwebControl: [ERROR] Could not create all client threads.
This means the specweb process was unable to communicate with the specwebclient process at IP address 192.168.1.211 via RMI. When it attempted to do so, the connection was refused. This usually happens when either the specwebclient process is not started on that system, or it is started but listening on a different port than the one specified (or if unspecified, port 1099).
Check the following:
Can you ping the system from the prime client (specweb) system? If not, fix the connection.
- Is a specwebclient process started on that system? If not, start it.
Is that system listening on the same port that the specweb process is using when it attempts to communicate with the client? If not, sync the ports.
- Is there a firewall running on any of the systems? If so, turn it off.