{"id":1009,"date":"2017-12-07T14:33:44","date_gmt":"2017-12-07T19:33:44","guid":{"rendered":"https:\/\/portfolios.cs.earlham.edu\/?p=1009"},"modified":"2017-12-07T14:47:46","modified_gmt":"2017-12-07T19:47:46","slug":"bringing-innovative-load-balancing-to-nginx","status":"publish","type":"post","link":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2017\/12\/07\/bringing-innovative-load-balancing-to-nginx\/","title":{"rendered":"Bringing Innovative Load Balancing to NGINX"},"content":{"rendered":"<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-1011 aligncenter\" src=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/me-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/me-300x300.jpg 300w, https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/me-150x150.jpg 150w, https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/me-60x60.jpg 60w, https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/me.jpg 404w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>Senior Capstone: Bringing Innovative Load Balancing to NGINX<\/h3>\n<h3>Abstract<\/h3>\n<p>\nLoad balancing remains an important area of study in computer science largely due to the increasing demand on data centers and webservers. However, it is rare to see improvements in load balancing algorithms implemented outside of expensive specialized hardware. This research project is an attempt to bring these innovative techniques to NGINX, the industry leading open source load balancer and webserver. In addition to implementing a new, native NGINX module, I have developed a simple workflow to benchmark and compare the performance of available load balancing algorithms in any given production environment. My benchmarks indicate that it is possible to take advantage of more sophisticated load distribution techniques without paying a significant performance cost in additional overhead.\n<\/p>\n<figure>\n<img decoding=\"async\" class=\"aligncenter size-full wp-image-1012\" src=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/adam_schwartz_software_architecture.png\" alt=\"\" width=\"673\" height=\"514\" srcset=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/adam_schwartz_software_architecture.png 673w, https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/adam_schwartz_software_architecture-300x229.png 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><figcaption style=\"text-align:center\"><b>My Software Architecture<b><\/b><\/figcaption><\/figure>\n<h2>Links<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/anschwa\/capstone\">Git Repository<\/a><\/li>\n<li><a href=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2017\/12\/Adam_Schwartz_Bringing_Innovative_Load_Balancing_to_NGINX.pdf\">Research Paper<\/a><\/li>\n<li><a href=\"http:\/\/anschwa.com\/\">Website<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Senior Capstone: Bringing Innovative Load Balancing to NGINX Abstract Load balancing remains an important area of study in computer science largely due to the increasing demand on data centers and webservers. However, it is rare to see improvements in load balancing algorithms implemented outside of expensive specialized hardware. This research project is an attempt to &#8230; <a title=\"Bringing Innovative Load Balancing to NGINX\" class=\"read-more\" href=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/2017\/12\/07\/bringing-innovative-load-balancing-to-nginx\/\" aria-label=\"Read more about Bringing Innovative Load Balancing to NGINX\">Read more<\/a><\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-1009","post","type-post","status-publish","format-standard","hentry","category-adam-schwartz"],"_links":{"self":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/1009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/comments?post=1009"}],"version-history":[{"count":8,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/1009\/revisions"}],"predecessor-version":[{"id":1020,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/1009\/revisions\/1020"}],"wp:attachment":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/media?parent=1009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/categories?post=1009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/tags?post=1009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}