Custom Crossbar build documentation?

35 views
Skip to first unread message

Greg Keys

unread,
Mar 13, 2016, 9:10:18 PM3/13/16
to Crossbar
I know you can do custom crossbar installs with "pip install crossbar[all]"
Is there any documentation on the various components to include and or exclude in place of the [all]?

I would like to build a minimal crossbar router that includes only the router and tls transport,
excluding all the other components we don't need like the web service, manhole cover, node process guest etc.....

Our current router has been requiring atleast 2gb ram and we would like to optimize it and remove any components 
that we arent using.


Gareth Bult

unread,
Mar 13, 2016, 11:46:58 PM3/13/16
to Crossbar
Mmm, I'm sort of inclined to think it might be worth looking elsewhere for your problem before worrying too much about 
which components are being installed .. 2G .. wow?!

I'm using 512M instances on Digital Ocean .. and I'm never getting anywhere near 512M for the whole system .. 
just looking now, I have 64M for the crossbar worker and 56M for my application ... and I'm running around 
13,000 lines of code ... thats using a standard / full install ..

Tobias Oberstein

unread,
Mar 14, 2016, 7:43:34 AM3/14/16
to cross...@googlegroups.com
Hi Greg,

Am 14.03.2016 um 02:10 schrieb Greg Keys:
> I know you can do custom crossbar installs with "pip install crossbar[all]"
> Is there any documentation on the various components to include and or
> exclude in place of the [all]?

No, there isn't .. in fact, we already tuned down the various options
that (historically) were there and are moving to a "single variant". The
number of combinations to check/support grew out of hand.

So, "pip install crossbar[all]" nowerdays is essentially equivalent to
simply "pip install crossbar"

>
> I would like to build a minimal crossbar router that includes only the
> router and tls transport,
> excluding all the other components we don't need like the web service,
> manhole cover, node process guest etc.....

Sorry, we don't support that.

>
> Our current router has been requiring atleast 2gb ram and we would like
> to optimize it and remove any components

Why?

> that we arent using.

2GB is quite a lot. I have run Crossbar.io on as little as 64MB RAM
Linux devices.

It runs perfectly on a EC2 nano instance.


Why bother "optimize"? For what scenario?

Cheers,
/Tobias

>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Crossbar" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to crossbario+...@googlegroups.com
> <mailto:crossbario+...@googlegroups.com>.
> To post to this group, send email to cross...@googlegroups.com
> <mailto:cross...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/crossbario/bf7eb550-0ef1-4025-8f59-5cd1b6a931b9%40googlegroups.com
> <https://groups.google.com/d/msgid/crossbario/bf7eb550-0ef1-4025-8f59-5cd1b6a931b9%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Greg Keys

unread,
Mar 14, 2016, 6:59:13 PM3/14/16
to Crossbar
Perhaps I should explain a bit more.

We have gone to production with the latest available crossbar release 0.12.1 as a docker image.
 
We tried placing the image on a medium size server with 1024 meg ram dedicated to the image but it crashes after a couple hours,
I have found that it needs at least 2048 megs dedicated to the image for it to stay stable. It might run on less
but its just not staying stable for us unless it has enough ram.

Perhaps its a memory leak, perhaps its how we built the docker image, i'm not sure, the logs do fill up with an ascii error which I suspect might
have something to do with it, we are in a bit of a bind though because we cant risk running from master as it introduces other (sometimes worse) problems.

I was hoping I could just strip out anything not needed in order to optimize the image.

Which brings up another point our docker image is almost a gig in size as well, I would like to shrink that down 
as much as possible, I tried to build it with alpine linux, I had it down to 300 megs at one point but it kept running into problems, 
I ended up having to build from the recommended docker build to get any semblance of stability, so at least 600 megs is probably coming from OS.

We have to spin up new crossbar images as needed to support load, image size right now is entirely too big for rapid deployment, it takes several minutes to spin up a new instance
we would like to optimize it to fix both issues, stability and deploy time, I would appreciate any advice you might have in that regard.
Reply all
Reply to author
Forward
0 new messages