5

We use centos 6, apache prefork, PHP 5, MySQL, and we have Wowza streaming engine on a different server. Nothing is on the cloud, we have on-premise servers.

We'd like to test a couple of things mainly:

1-Wether we can move from apache preform to npm or use Nginx instead, and we'd like to test Wowza.

We're using prefork because it gives a dedicated process per user, we're not sure how npm would handle long sessions of streaming per user and what happens if it goes wrong, we need to handle 20k users + background crons renewing user subscriptions and sending SMS and handling user uploads and whatnot.

I've written a load testing tool using locust, it tells me how many users apache can handle, it doesn't tell me how many concurrent users apache/MySQL can handle and it doesn't tell me what would happen to 15k users watching videos for hours and so on.

Wowza has its own load testing tool, but it's not accurate, Wowza can't handle more than 4gbps, that's around 5k concurrent users on the same instance, presumably because of JVM limitations, so the result you get by running the load balancer is never accurate and we don't have the bandwidth locally to get to 4gbps.

I need to know if using Azul JVM would make any difference, even if slightly but I can't test that in our local servers.

1 Answer 1

0

To load test the video streaming setup with traffic internally:

  1. Use Apache JMeter to simulate the user behavior and test Apache and MySQL performance.
  2. Configure JMeter to send requests to the server, measure response times, and simulate user activity such as video streaming.
  3. Start with a small number of concurrent users and gradually increase to simulate the desired load.
  4. Monitor the Apache and MySQL servers during the test to see how they handle the load and identify any bottlenecks.
  5. Repeat the tests using Nginx or npm to compare their performance with Apache prefork.
  6. For testing Wowza, you can use its built-in load testing tool, but keep in mind that the results may not be accurate due to JVM limitations.
  7. Consider using cloud services such as AWS or Google Cloud to simulate a high traffic scenario and test the impact on the Wowza instance.
  8. If you want to test the impact of using Azul JVM, you can set up a test environment on a cloud service and run the load test.

If you're concerned about handling long sessions of video streaming with npm, you can consider using a different option such as Nginx with the ngx_http_mp4_module, which can handle long-lived connections and has been used in large-scale video streaming systems.

Another option is to use a reverse proxy server, such as Nginx or HAProxy, in front of npm. The reverse proxy can handle the load balancing and connection management, while npm can focus on serving the video content.

Additionally, you can also consider using a load balancer, such as HAProxy or NGINX Plus, to distribute the load across multiple npm instances, providing higher reliability and scalability.

It's recommended to thoroughly test and compare the performance of each option in a realistic environment, with a similar user workload and hardware configuration, to determine the best solution for your use case.


If you're unable to test the impact of using Azul JVM on your local servers, you can consider the following options:

  1. Reach out to Azul Systems or other experts in the field for advice and information on the expected performance improvement with Azul JVM.
  2. Consider setting up a test environment on a cloud service, such as AWS or Google Cloud, and run load tests to see the impact of using Azul JVM.
  3. Read case studies or testimonials from other companies who have used Azul JVM for video streaming and see if they experienced any improvement.

Keep in mind that the actual performance improvement will depend on various factors, such as the workload, hardware, and network configuration, so it's best to test in a real-world environment to see the actual results.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.