[erlang-questions] Misultin EOL

Loïc Hoguin essen@REDACTED
Fri Feb 17 01:02:38 CET 2012


I would have loved to have more benchmarks but of all the ones I've 
heard about Cowboy so far none have been published (besides Roberto's).

Benchmarks are unfortunately often misunderstood and subject to flame 
wars as was pointed out, but also hype. There's also the fact that not 
all applications have the same requirements. Even if Cowboy was good 
enough for 90% of applications, there'd still be a need for other kinds 
of servers (same goes for other servers).

I can throw a few numbers if you want, however. A couple months ago 
someone did a websocket benchmark on an Amazon EC2 instance and measured 
Cowboy to take 11GB of memory with 500K idle connections. Then they 
simulated the workload their application would take and after ironing an 
issue out it ended up still working with 500K working connections. They 
tested with more connections but I don't know the details there.

I myself had Cowboy running in production with no issue for a few months 
now. I know various companies using it in different domains. I still 
consider it beta and always warn people about it but this doesn't seem 
to slow its adoption.

I can also say that Cowboy will take a central part in a few major 
projects in the near future, though I can't say more than that at this time.

On 02/16/2012 09:50 PM, Michael Truog wrote:
> Hi,
>
> I am very concerned about the fact Misultin will no longer be developed, mainly because I don't see how cowboy has been able to provide the same performance and stability Misultin has provided.  I understand there has been a great push for people to use cowboy, but I think it really requires loadtest result comparisons with Misultin to drive more serious usage.  A good way to start would be to show that cowboy can surpass or at least be on-par with Misultin in a benchmark similar to http://www.ostinelli.net/a-comparison-between-misultin-mochiweb-cowboy-nodejs-and-tornadoweb/ .  How can we compare cowboy and Misultin stability (i.e., for how long has cowboy been stable in production)?  Is cowboy going to be able to take the lead on HTTP Erlang web server performance where mochiweb and yaws have been unable to (please don't bother to flame this, those people that don't care about performance, but care about Erlang)?
>
> So, this change just leaves me with a bunch of questions that have no clear answers available.  It is sad that we are losing stability due to hype, which seems like an uncommon trend among Erlang, but I assume this is more of a comment on the community rather than the language.  Thank you for your efforts on Misultin!
>
> Thanks,
> Michael
>
> On 02/16/2012 10:09 AM, Loïc Hoguin wrote:
>> Hello.
>>
>> I'm sad to see Misultin go, this was in my opinion the only other project that had enough momentum to introduce innovation in Erlang web servers. Even though there certainly was duplication happening, there was also original and interesting components (some which landed in cowboy, and vice versa). I almost ended up going for Misultin originally, but I wanted a Misultin+Webmachine+binaries (for the most part), a combination that didn't exist at the time.
>>
>> I'm always available by email or on #erlounge on freenode if people need help with moving to Cowboy. From what I've seen so far the task isn't too complicated. If anything is missing in Cowboy, please open a ticket.
>>
>> For usability concerns, Spawngrid did the following parse transform that helps you deal with the many Req variables. I don't use it, but it seems to work great for them.
>>
>>      https://github.com/spawngrid/seqbind
>>
>> Thank you Roberto for everything you have done so far and I hope we can continue to work together on making Erlang HTTP stacks the best ones in the world.
>>
>> On 02/16/2012 04:56 PM, Roberto Ostinelli wrote:
>>> Dear list,
>>>
>>> Misultin development has been discontinued.
>>>
>>> There currently are three main webserver /libraries/ which basically do
>>> similar things:
>>>
>>>    * Mochiweb<https://github.com/mochi/mochiweb>
>>>    * Cowboy<https://github.com/extend/cowboy>
>>>    * Misultin<https://github.com/ostinelli/misultin>
>>>
>>> Especially since the recent heavy development of Cowboy's HTTP server, I
>>> believe there is way too much duplication of efforts going on here. This
>>> is why Misultin's current 'state of the art' has been frozen in the
>>> latest tag, v0.9
>>> <https://github.com/ostinelli/misultin/tree/misultin-0.9>, to support
>>> all the companies currently using Misultin in their production
>>> environment. I'm here to provide help, if needed, in moving away from
>>> it. Thus, this server should be robust and stable enough to continue
>>> serving your needs for some time.
>>>
>>> Instead of letting this library stand on github without notice, and
>>> getting developers still use this project, I have preferred to
>>> explicitly state to gradually move away from it, so that efforts can be
>>> concentrated around one server library only. It's hard enough to let one
>>> 'child' like this one go, but I believe it's best for the whole Erlang
>>> community. There are many ways to try to help each other in the
>>> community, I believe this decision is now for the better.
>>>
>>> *Mochiweb* has been around the block for a while and it's proven solid
>>> in production, I can only recommend it for all basic webserver needs you
>>> might have. *Cowboy* has a very interesting approach since it allows to
>>> use multiple TCP and UDP protocols on top of a common acceptor pool. It
>>> is a very modern approach, is very actively maintained and many projects
>>> are starting to be built around it.
>>>
>>> I'll personally concentrate my efforts around Cowboy, simply because the
>>> projects I'm involved in often require multiple procotols. I really hope
>>> that it'll live up to the expectations that I'm putting into this.
>>>
>>> Thank you to everyone that has been supporting Misultin in these years.
>>> Hopefully its *code usability*, which I still believe to be unmatched
>>> (well, I have developed it so how could I feel differently about this
>>> ^^_), will provide inspiration for some library interfaces.
>>>
>>> Best to you all,
>>>
>>> r.
>>>
>>>
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>
>


-- 
Loïc Hoguin
Erlang Cowboy
Nine Nines



More information about the erlang-questions mailing list