Have you had a look at Chronicle? They have built up an entire 
infrastructure that is off-heap so there is no GC.

http://chronicle.software/products/chronicle-engine/

https://github.com/OpenHFT/Chronicle-Engine

There is a free version and a paid for version. They have broken it into 
parts so you can use just the off-heap Map/Set/Logger/Queue.

There isn't a web server, just a processing engine, so you would be rolling 
a lot of it on your own. But it sure is fast.



On Wednesday, October 7, 2015 at 5:43:26 PM UTC-4, Nick Pavlica wrote:
>
> Hi Timothy & Moe,
>   Thanks for your feedback!  I realize that we are speaking very generally 
> on this thread, and know that there are many ways to solve the complex 
> problems we face as developers.  I'm trying to understand the current know 
> limitations of using great tools like Clojure to solve the problems I'm 
> facing.  Clojure is bound by the JVM  which wasn't directly designed to 
> address high concurrency needs in the same way that Erlang/Go/etc. are.  My 
> experience with Java/JVM in the past was that it was more focused on raw 
> throughput, and less about high levels of concurrency.  I was hoping that 
> there were some good high concurrency solutions in place.  That's what 
> prompted my original question about the only benchmarks that I could find. 
>  If you have any additonal benchmarks, papers, etc., to share on this 
> subject, it would be great! 
>
> Timothy Wrote:
>         "I'd investigate other tools (Netty?) before discounting an entire 
> platform"
>          -  I'm open to any suggestions.  However, I believe that Aleph is 
> build on Netty.
>
>          "I question why anyone would need 200k connections on a single 
> box, use AWS auto scaling"
>          -  There are many reasons, but in my case I'm paying for each 
> server, and I have to maintain not only the ones that I need to get the 
> work done, but ones I need for redundancy etc.  There is a huge business 
> case for doing the same work on one server that  would otherwise take two 
> or three.  An AWS server equipped similarly to the one in the benchmark is 
> running about $1200/month, adding two more would obviously increase my 
> costs by $2400/month or $28,000/year.   
>
> Mo Wrote:
>          "The github webserver benchmarks also contain many numbers above 
> 200,000 qps, for a variety of other webservers - right?"
>          - Yes, they are really great at throughput, but that's not 
> necessarily the primary metric that I'm looking for.  I'm trying to 
> determine if they are reliable and perform reasonably well with many 
> connections.  I realize that http-kit made a claim of 600K connections in 
> 2013.  But I can't find any other supporting evidence that it can do that 
> reliably.  It also seems to have stagnated a bit as a project which is 
> unfortunate. 
>
> Thanks Again for your input and guidance!
> -- Nick
>
>
>         
>
>
>
>
> On Tuesday, October 6, 2015 at 9:57:45 PM UTC-6, Nick Pavlica wrote:
>>
>> Dear Clojure/Java Experts,
>>   Earlier today I posted a question to the Immutant google group asking 
>> them a question about large numbers of concurrent websocket connections and 
>> their server.  A member of the group kindly responded with a link (
>> https://github.com/ptaoussanis/clojure-web-server-benchmarks)  to some 
>> fairly recent benchmarks that included a number of Clojure/Java servers. 
>>  After looking at the numbers in the benchmark, I was a little disappointed 
>> to see that they were only serving 60K connections as compared to other 
>> solutions like Erlang which seem to be capable of 1-2+ million connections 
>> on similar hardware.  The difference on the surface seems dramatic, and I 
>> was wondering if someone could help clarify the numbers for me.  It makes 
>> me wounder if there is a JVM solution that can even meet these numbers half 
>> way, or if I'm missing something?   
>>   
>> Many Thanks!
>> --Nick
>>
>>
>> ####### Discussion from the Immutant Google group ######################
>>
>> All,
>>   I'm a new Clojure developer, and I'm looking for a webserver that can 
>> handle a large number of concurrent websocket connections.  I understand 
>> that this question is a little/very vague, and is dependent on many factors 
>> like the OS, it's Kernal, amount of RAM in the system, etc.  However, there 
>> are a number of generalized claims out there, and I was wondering if anyone 
>> has done any basic testing/benchmarking with Immutant/Undertow?
>>
>> Examples:
>>
>> - http://www.http-kit.org/600k-concurrent-connection-http-kit.html
>>
>> - 
>> http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html
>>
>> - https://en.wikipedia.org/wiki/C10k_problem
>>
>> - https://vimeo.com/44312354
>>
>> - And so on ...
>>
>> Thanks!
>> --Nick
>>
>>
>> --------------------------------------------------------------------------------------------------
>>
>> Hi Nick, 
>> Here are some fairly recent benchmarks that are relevant: 
>> https://github.com/ptaoussanis/clojure-web-server-benchmarks 
>>
>> --Sven 
>>
>> -------------------------------------------------------------------------------------------------
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to