Jump to content

Yaws (web server)

From Wikipedia, the free encyclopedia
Yaws
Developer(s)Claes Wikström
Stable release
2.2.0[1] Edit this on Wikidata / 13 July 2024
Repository
Written inErlang
Operating systemCross-platform
TypeWeb server
LicenseBSD-3-Clause
Websitegithub.com/erlyaws/yaws Edit this at Wikidata
The LYME and LYCE software bundles are based on Erlang and comprise Yaws. They are composed entirely of free and open-source software

Yaws (Yet another web server) is a web server written in Erlang by Claes (klacke) Wikström. Yaws can be embedded into other Erlang-based applications or run as a regular standalone web server.[2]

Overview

[edit]

Because Yaws uses Erlang's lightweight threading system, it performs well under high concurrency. A load test conducted in 2002 comparing Yaws and Apache found that with the hardware tested, Apache failed at 4,000 concurrent connections, while Yaws continued functioning with over 80,000 concurrent connections.[3]

The load test concludes,

"The problem with Apache is not related to the Apache code per se but is due to the manner in which the underlying operating system (Linux) implements concurrency. We believe that any system implemented using operating system threads and processes would exhibit similar performance. Erlang does not make use of the underlying OS's threads and processes for managing its own process pool and thus does not suffer from these limitations".[3]

and in the underlined part above (formatting added), expresses the opinion that the founding technologies make the difference in scalability.

See also

[edit]

References

[edit]
  1. ^ "Release 2.2.0". 13 July 2024. Retrieved 28 July 2024.
  2. ^ Vinoski, Steve (July–August 2011). "The Functional Web - Yaws: Yet Another Web Server" (PDF). IEEE Internet Computing. IEEE Computer Society. Archived (PDF) from the original on Oct 15, 2022.
  3. ^ a b Ghodsi, Ali. "Apache vs. Yaws". Joe Armstrong SICS. Archived from the original on May 18, 2015. Retrieved January 17, 2007.
[edit]
  • Official website Edit this at Wikidata
  • ErlyWebMVC-pattern web framework for Yaws
  • Erlang Web – MVC-pattern web framework Yaws and Inets Erlang/OTP application
  • Nitrogen – An event-driven Web 2.0 framework for Erlang that runs on Yaws, Mochiweb, and Inets