Load Balancer for Xibo CMS

As title. I want to improve performance for Xibo CMS. So I want to setup load balancer via HA Proxy for it. But I don’t know how to setup Media Library. Please help. Thank you so much.

You would need to have mutliple servers with a shared filesystem for the CMS library, and shared access to a common database.

Exactly how you achieve that in your scenario will depend on what you have available to you.

Hi Alex,

Actually, I setted up already for this feature. But when It’s testing with 100 client. We got the problem when file delivered to client. This is structure that I applied. Please help me to see it.

You need to be using a single common XMR server. You can’t use two different ones.

What’s the problem when files are delivered to the client?

Hi Alex,

Thanks for your reply. You mean I need to setup one server for XMR right ? At this structure, I setted up XMR on single server(Content server). With this feature, the problem is Service is Unavailable when deliver 100 client with file 100mb. It mean Admin site down and Client cannot download.

So you need to look at each part of the system and work out what’s bottlenecking.

This kind of work isn’t simple and it’s not something I can describe in a couple of sentences.

There’s parameters on the CMS container that you can tune which will increase the number of connections each container can handle simultaneously, but in turn that will use more CPU and RAM, so you need to be sure that’s available before you increase those. And then that might exhaust the connections available on the load balancer, or max out MySQL etc etc. It’s a case of working though, making small changes, and seeing what those changes impact on the other services.

Alex, May I know why we don’t separate XMDS from CMS. I mean we can split the moudle XMR, XMDS and Content Library from CMS. I think it will be easily to setting up balacing or get high performance.

Because XMDS is part of the same system as the admin interface.

You could if you wanted run more CMS instances, and direct XMDS to some of them (via your load balancer rules), and admin to others, but you’ll find the majority of your loading will be on the database server for any non-trivial examples so splitting there won’t help you.

There’s parameters on the CMS container that you can tune which will increase the number of connections each container can handle simultaneously

Can you help me finding those parameters on CMS ? I will try with this solution first. Thanks Alex.

You’d need to add those variables to your config.env and then down/up the containers to have them apply.

Thanks for your support.

1 Like