Red5 Benchmark(Load) Test

1. Set JVM_ENV:

  • Go to “red5” directory:
  • Open the “red5.bat” File and add a line.
  • “set JAVA_OPTS=-Xms256m -Xmx512m -XX:MaxPermSize=128m” To extend the jvm max heap size. Here we set 512mb.

2. Set Log Level

  • Go to “red5\conf” directory.
  • Open the “logback.xml” file
  • Set all the “level value” to the “ERROR”
  • Then it will be able to show the error log only.

3. Start Test

  • Put the “df_message.war” which is server war file to the “red5\webapps” directory.
  • Start the red5 server, then the server will install the war file, which is unzipping it and deploy to the server side.
  • Since the service in the server side is already started, we need to connect the clients. [EX. 250 Clients, 100Msgs. 1000Length String]
    • Run command “MsgTester #NumberOfClients# #NumberOfMessages# #MessageLength#”. Then Clients will Connect to the server  with gradual increase.
    • After #NumberOfClients# clients are all connected to the server, it will wait for #NumberOfMessages# messages with #MessageLength#.
  • When the clients are all connected to the server, Run “MessageSenderManager” with specified message length and message numbers which are needed to set same as client.
  • Then MessageSenderManager will connect to the server, and start sending message to all clients connected to the server.
  • MessageTester will show the average time cost for receiving a message when certain number of clients are connected. Also it will write a “result.csv” file for the report.
  • After collecting the “result.csv” files from different test PC, we can run the “FileCollector.java” to merge the results to one file – > “finalReport.csv”.

4. Test Result.

QQ截图20131001134700

  • This is memory dump result with “Visual VM”, and we ran the test for 1000 clients receiving the 100 message with 3000 string length.
  • Red5 Server runs perfectly, but there was a tiny problem.
    • The memory is increasing gradually until it finishes the sending message task
  • First of all, we thought there are maybe the memory leak problem. BUT, we observed that the server collected the garbage after while, so that won’t be a critical.
  • Other problems? None…. Nothing big, so far.

5. Appendix.

  • Following Pic is the library that used for the MessageSender and MessageTester

image

  • Just a cute doggy.

1441229_606972976029262_875562454_n

Advertisements

2 thoughts on “Red5 Benchmark(Load) Test

    1. Hey buddy, it’s been a while that I made that program and I couldn’t find it anymore. But it was pretty simple program which will accept the client and broadcast the message from the producer. believe you can make it by yourself:) have a nice day then.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s