Re: regarding scaling libsoup server



poll does not scale.

epoll does

m.

2017-05-02 17:12 GMT+02:00 Sergio Villar Senin <svillar igalia com>:
O Sáb, 29-04-2017 ás 12:57 +0000, marcin saepia net escribiu:
> Hello Allen,
> Generally speaking, forget about doing serious scaling using any
> library or tool that uses GLib underneath. Regardless of many other
> limitations, it does not use epoll for checking descriptors' state
> and you are likely to run into c10k problem even if you use multiple
> cores.
> I suggest taking a look at Elixir/Phoenix, Java/Netty or Go (in that
> order).
> Marcin

I don't have a strong knowledge about epoll but glib main loop uses
poll whenever available.

BR

>
> sob., 29.04.2017, 13:36 użytkownik Allen Rintoul <arkjcc gmail com>
> napisał:
> > Hello, 
> >
> > I am building a websocket application using libsoup. During my
> > testing I observed the cpu which runs the main loop getting pegged
> > at around 300 websocket connections and beyond ~1000 connections I
> > am observing client connection failures.
> >
> > Is there a way to spread the connections across all the cpus? or is
> > it by design all libsoup functions needs to be executed in the same
> > thread?
> >
> > I also see from perf top that more than 30 percent of the time is
> > spend on g_list_sort_with_data(). I have an i5-4440S CPU @ 2.80GHz
> > (4 threads) and 16G RAM. While the cpu running main loop is getting
> > pegged the other 3 cores are more or less idling.
> >
> > Any thoughts on scaling libsoup to make use of all the cores?
> >
> > Thank you
> > Allen
> >
> >
> >
> > _______________________________________________
> > libsoup-list mailing list
> > libsoup-list gnome org
> > https://mail.gnome.org/mailman/listinfo/libsoup-list
> >
>
> _______________________________________________
> libsoup-list mailing list
> libsoup-list gnome org
> https://mail.gnome.org/mailman/listinfo/libsoup-list
_______________________________________________
libsoup-list mailing list
libsoup-list gnome org
https://mail.gnome.org/mailman/listinfo/libsoup-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]