Announcement

Collapse
No announcement yet.

Gatling: High-Performance Open-Source Server

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Gatling: High-Performance Open-Source Server

    Phoronix: Gatling: High-Performance Open-Source Server

    After recently bringing up the G-WAN web-server, a Phoronix reader brought up Gatling. The Gatling software is a high-performance open-source web-server not known as widely as Apache, Nginx, or lighttpd...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    No ARM builds?

    Monkey got them, even running on the Raspberry Pi a setup I'll try as soon as I decide what fsking SD card I should purchase.

    So these news items mean that a lightweight web server head-to-head is maybe in the works? I would love to see one, even one on your ARM pandaboard cluster... yummy....

    Comment


    • #3
      I have used that sometimes and I like it for its simplicity. Want to serve a specific directory quicky?
      Code:
      cd directory; gatling -S -F -p 1234
      Want to serve content per cgi/fcgi? Couldn't be easier (but its not as clear documented as I'd like, you need to run it as root I believe, not a problem since it supports privilegue dropping).

      I think he wrote gatling mainly as a "real world" usage of his diet libc. (Some slides about the why).

      At the moment it seems it isn't working correctly anymore due to not having been updated for a while, probably.

      For only one concurrent request at a time it works fine with ~4k requests/second, but with more concurrent requests there are some problems with sockets:
      Code:
      socket_error 32 Bad file number
      close/writefail 32 98 218
      Also, nginx does more requests/second with 1 concurrent request.

      I only tested a small static file with the content "hello world".

      On the other hand his website and blog run on gatling very, very reliably so I would guess it's just a problem with new linux behaviour.

      Comment


      • #4
        OK, this is not particularly relevant to its performance, but CVS? Seriously? In 2012? For an open-source project? I have to use CVS at work, and it is...not my favorite part of my job. I have to wonder how many potential contributors will be turned off by CVS's limitations and quirks when I can barely tolerate it when I get paid to do so.

        Comment


        • #5
          A few things I've noticed:

          - "file not found" error if there's no trailing "/" on directory name
          - directory listing does not list directories first
          - I also get some socket errors

          Comment


          • #6
            Originally posted by waucka View Post
            I have to wonder how many potential contributors
            Well, first you have to know that it's by no means a project with much contribution anyway, only almost only a one-man project:
            Code:
             ~/gatling (cvs)-[gatling] % cvs log | grep author | grep leitner -c
            980
             ~/gatling (cvs)-[gatling] % cvs log | grep author | grep -v leitner -c
            5
            There are hardly any websites using it and from googling I learned that back in 2003 it was written to experiment with new APIs (Benchmarks from back then) and another goal was to write a webserver that would survive being slashdotted.

            Comment


            • #7
              Thanks to the fact that gatling does not attempt to support dynamic content, there needs not be any fast-paced development.

              The Monkey benchmarks are of limited value, as the exact build parameters for nginx are not known. Normally you build a monolithic binary with exactly the features you want.

              Comment


              • #8
                I'm really curious as to why this even necessitated an article. What does Gatling have that Apache httpd does not offer, or can not be achieved with simple compile time options? While a book can be written on the reverse perspective, I've always wondered what makes all of these lightweight httpd servers attractive.

                F

                Comment


                • #9
                  Originally posted by chithanh View Post
                  The Monkey benchmarks are of limited value, as the exact build parameters for nginx are not known. Normally you build a monolithic binary with exactly the features you want.
                  Defaults, IIRC. ./configure

                  Comment


                  • #10
                    Originally posted by russofris View Post
                    I'm really curious as to why this even necessitated an article. What does Gatling have that Apache httpd does not offer, or can not be achieved with simple compile time options? While a book can be written on the reverse perspective, I've always wondered what makes all of these lightweight httpd servers attractive.
                    Gatling has a totally different use case from Apache. No amount of compile-time options will make Apache into a 125k static x86 binary. As it says on the homepage, gatling was developed to sustain the Slashdot effect and similar flash crowd events.

                    Originally posted by curaga View Post
                    Defaults, IIRC. ./configure
                    So this means the compiler flags were empty, ie. without any optimization at all? Also configure scripts typically detect what is installed on the system and adjust the build based on that.

                    Comment

                    Working...
                    X