Announcement

Collapse
No announcement yet.

when will 503 Error come out?

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

  • when will 503 Error come out?

    I like the idea of throwing a 503 service temporarily unavailable, it works and some of our customers already experiencing it.

    However, may I know how to explain it to our customer? Under what condition will 503 error disappear?

    Currently there is only CPU and I/O limit in the configuration file, by default it set as

    <lveconfig>
    <defaults>
    <cpu limit=" 25"></cpu>
    <io limit=" 25"></io>
    <other maxentryprocs=" 20"></other>
    </defaults>
    </lveconfig>

    I do not understand what this 25 means, can you enlighten me about it?

    Information like this should be updated into the Docs:



    thanks.

  • #2
    25 is 25% of total CPU on the system
    The 503 will come up once there are more then 20 concurrent connections to sites on the server.

    And I will update the documentation.

    Thanks,
    Igor.

    Comment


    • #3
      thanks boss.

      25%... I saw its referring Jiffry http://en.wikipedia.org/wiki/Jiffy_(time)

      but how do i visualize it? for example I run "cat /proc/lve/list" shows 229662988927 in "cpu_usage" column, how much is 25%?

      And when will 503 disappear?

      Comment


      • #4
        Also 20 concurrent connections, means http connection?

        Comment


        • #5
          It is HTTPD connections to dynamic scripts.
          Later on cronjobs, and sshd connections will add up to that number as well.

          Comment


          • #6
            <cpu limit=" 25"></cpu> What server configuration is this default value based on? how many cpus ?
            Were trying to understand what values we should apply to our own servers. If we change the value to 30 or 50 or 10 how would we see any effect of the changes?

            Comment


            • #7
              25 stands for 25% of total CPU resources available on a server.
              That means that if you have 1 CPU -- 25% would allocate at most 1/4 of CPU to each site (upper bound, we don provide "reserved cpu")
              If you have 4 CPUs -- that would mean 1 CPU for each site at most
              If you have 16 CPU -- that would mean 4 CPU for each site, though that is not really true, as single LVE cannot span more then 1 CPU at present (we did it for performance reasons, might change it later on). So, on 16 CPUs -- anything above 7% just wouldn give anything extra to the site.

              As you increase the value, for slow sites -- the site should become faster.
              For site that is not slow, you would probably see no difference.

              Comment


              • #8
                Thanks for the info. 8)

                Comment


                • #9
                  @Igor,

                  First Question
                  Lets assume we have 2 CPUs in a box and you set clients to 25% of CPU and 5 sites spike at the same time all to top limit of 25%. This would be 125% value of the cpu which would be impossible but in this case how would the load be balanced?

                  Second question
                  When you have 2 CPUs how does it choose what CPU to use? When one is 100% full will it spawn processes to the second CPU? Would we assume a differnce for Python code or PHP scripts?

                  3rd Question
                  How does it measure IO? Does it identify top limits of the node? Lets say for example you have a node with a JBOD to 24 SaS disk spinning at 15k. Or when you have a node that is single disk at 7200 and its 2TB. How does it define its allocations? Do you have cross reference link I can study?

                  Gary Brooks
                  cloudaccess.net

                  Comment


                  • #10
                    First Answer
                    Remember that there are usually 100s of sites, and there are fair share scheduler that works on the level of LVE.
                    So, 5 sites spike, and there are not enough CPU time for all sites. This is when fair share scheduler kicks in, and makes sure that each LVE gets same share (if it needs it). Meaning that none of the sites would get 25%, majority of the sites will get their "equal" share, and those 5 will get less then 25%. Which is how it should be.
                    The issue really is that once you get to 0% idle CPU -- the system will still be slow. I am not talking about cgi/php scripts. I am talking about main apache process, ssh, mysql, and bunch of other processes running.
                    The good news -- it is really, really rare even for two sites to spike at the same time.

                    Second Answer
                    The whole LVE, with all the processes are migrated to CPU that doesn have anything to do. Right now one LVE can span only one core. Next version - 0.8 will allow to span multiple cores, but usually it is not worth it, once you have 100s of LVEs. It is really meant for people running 4-10 sites on a server.

                    3d Answer
                    IO limits are yet to be implemented.

                    Comment

                    Working...
                    X