{"id":412,"date":"2013-02-18T10:43:54","date_gmt":"2013-02-18T14:43:54","guid":{"rendered":"http:\/\/blog.litespeedtech.com\/?p=412"},"modified":"2013-02-18T10:43:54","modified_gmt":"2013-02-18T14:43:54","slug":"not-even-close-ruby-lsapi-4-1-bests-nginx-passenger-another-benchmark","status":"publish","type":"post","link":"https:\/\/lswp.store\/index.php\/2013\/02\/18\/not-even-close-ruby-lsapi-4-1-bests-nginx-passenger-another-benchmark\/","title":{"rendered":"Not Even Close: Ruby LSAPI 4.1 Bests Nginx + Passenger (Another Benchmark)"},"content":{"rendered":"<h3><b id=\"internal-source-marker_0.42047182167880237\">Part 2 \u2014 Downloading<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p>In the last post, we benchmarked the uploading speed of <a href=\"http:\/\/www.litespeedtech.com\/litespeed-web-server-downloads.html\">LSWS 4.2.2<\/a> (with <a href=\"http:\/\/www.litespeedtech.com\/lsapi-downloads.html\">Ruby LSAPI 4.1<\/a>) against Nginx with Passenger for a Ruby Rails Rack application. But rewindableinput was not our only change in Ruby LSAPI 4.1. <!--more-->We also made a series of small tweaks designed to speed up downloads from Ruby applications using Rack. With all that fresh Nginx blood on our hands from the <a href=\"http:\/\/blog.litespeedtech.com\/2013\/02\/12\/not-even-close-ruby-lsapi-4-1-bests-nginx-passenger-a-benchmark-of-course\/\">previous benchmark<\/a> (yes, we\u2019re quite aware that it\u2019s hypothetical blood from an oversimplified experiment \u2014 all the better, we\u2019re pacifists), we couldn\u2019t stop ourselves from running a benchmark to see how the two server softwares match up when downloading different amounts of data generated by a Rack application. And we liked the answer. Here\u2019s the summary: (Again, this is LSWS 4.2.2 and Ruby LSAPI 4.1 vs. Nginx 1.2.6 with Passenger 3.0.19, both using applications with Ruby 1.9.3p374, Rails 3.2.11, and Rack 1.4.3.)<\/p>\n<p><a href=\"http:\/\/blog.litespeedtech.com\/wp-content\/uploads\/2013\/02\/chart_2-2.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-413\" src=\"http:\/\/blog.litespeedtech.com\/wp-content\/uploads\/2013\/02\/chart_2-2.png\" alt=\"4.2.2 vs. Nginx +Passenger (Rack Download)\" width=\"887\" height=\"312\" srcset=\"https:\/\/lswp.store\/wp-content\/uploads\/2013\/02\/chart_2-2.png 887w, https:\/\/lswp.store\/wp-content\/uploads\/2013\/02\/chart_2-2-300x106.png 300w, https:\/\/lswp.store\/wp-content\/uploads\/2013\/02\/chart_2-2-768x270.png 768w, https:\/\/lswp.store\/wp-content\/uploads\/2013\/02\/chart_2-2-600x211.png 600w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/><\/a><\/p>\n<p>Nginx + Passenger performed significantly better in the download benchmarking, but still nowhere near LiteSpeed\u2019s, um, speed. Again, we see the gap between the two narrowing as the downloads get larger and more weight falls on the app. While both these benchmarks are just one dimensional looks at server speed, we feel they do demonstrate a difference between us and Nginx. We\u2019d love to hear what you think.<\/p>\n<p>Configurations and detailed results can be found <a href=\"http:\/\/blog.litespeedtech.com\/litespeed-vs-nginx-passenger-ruby-rack-download-benchmark-configs-and-details\/\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 2 \u2014 Downloading &nbsp; In the last post, we benchmarked the uploading speed of LSWS 4.2.2 (with Ruby LSAPI 4.1) against Nginx with Passenger for a Ruby Rails Rack application. But rewindableinput was not our only change in Ruby LSAPI 4.1.<\/p>\n","protected":false},"author":1,"featured_media":413,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16,27,20],"tags":[96,167,196,214,218,242,243,255,271],"class_list":["post-412","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-benchmarks","category-web-server","category-performance","tag-download","tag-lsapi","tag-nginx","tag-pacifism","tag-passenger","tag-rack","tag-rails","tag-ruby","tag-speed"],"jetpack_featured_media_url":"https:\/\/lswp.store\/wp-content\/uploads\/2013\/02\/chart_2-2.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/posts\/412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/comments?post=412"}],"version-history":[{"count":0,"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/posts\/412\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/media\/413"}],"wp:attachment":[{"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/media?parent=412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/categories?post=412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lswp.store\/index.php\/wp-json\/wp\/v2\/tags?post=412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}