1.73 Gbps at best on an Amazon EC2 10 Gigabit instance?Simple tool to test Amazon EC2 instance throughput?Amazon ec2 reserve instanceAmazon EC2 Instance Type UpgradeWhy is TCP accept() performance so bad under Xen?Automatically stop instance amazon ec2Amazon EC2 instance - STOPDelete Amazon EC2 terminated instanceSimple tool to test Amazon EC2 instance throughput?Amazon EC2 t1.micro instanceAmazon EC2 instance goes offlineAmazon AWS EC2 Instance Reboot

Is there a reason why Turkey took the Balkan territories of the Ottoman Empire, instead of Greece or another of the Balkan states?

Why can't argument be forwarded inside lambda without mutable?

Playing Doublets with the Primes

Why are condenser mics so much more expensive than dynamics?

How to say something covers all the view up to the horizon line?

Primes in a Diamond

Can an Iranian citizen enter the USA on a Dutch passport?

Can a player choose to add detail and flavor to their character's spells and abilities?

Problem with estimating a sequence with intuition

Convert Numbers To Emoji Math

Old story about a creature laying pyramid shaped eggs on Mars

What is a common way to tell if an academic is "above average," or outstanding in their field? Is their h-index (Hirsh index) one of them?

Referring to person by surname, keep or omit "von"?

What does the phrase "go for the pin" mean here?

GitLab account hacked and repo wiped

What does the coin flipping before dying mean?

Two denim hijabs

Is there any other simpler way to draw the following cross section?

What's the 2-minute timer on mobile Deutsche Bahn tickets?

What are the requirements for a river delta to form?

How important are good looking people in a novel/story?

Where did Lovecraft write about Carcosa?

What does のそ mean on this picture?

Antivirus for Ubuntu 18.04



1.73 Gbps at best on an Amazon EC2 10 Gigabit instance?


Simple tool to test Amazon EC2 instance throughput?Amazon ec2 reserve instanceAmazon EC2 Instance Type UpgradeWhy is TCP accept() performance so bad under Xen?Automatically stop instance amazon ec2Amazon EC2 instance - STOPDelete Amazon EC2 terminated instanceSimple tool to test Amazon EC2 instance throughput?Amazon EC2 t1.micro instanceAmazon EC2 instance goes offlineAmazon AWS EC2 Instance Reboot






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








3















When I test my own '10 Gigabit' instances (c3.8xlarge) with iperf I won't see transfer rates exceeding 1.73 Gbps. This is at least four times worse than what a blogger at scalablelogic reports where tests show results of 7 Gbps and 9.5 Gbps.



I'm testing between two c3.8xlarge instances located in the same zone and region, so these should be optimal benchmarking conditions. The one c3.8xlarge acts as iperf server and the other as an iperf client. Both instances are launched with Amazon Linux AMI 2013.09.2 - ami-5256b825 (64-bit).



Why am I seeing such poor results?



What should I look at if I want to improve throughput?










share|improve this question






















  • Please paste your iperf configuration, as it very well could be the culprit.

    – MDMarra
    Jan 29 '14 at 22:43











  • @MDMarra, please explain how I find the iperf configuration? I have simply installed on both instances using wget http://iperf.fr/download/iperf_2.0.2/iperf_2.0.2-4_i386 ; chmod +x iperf_2.0.2-4_i386 ; sudo mv iperf_2.0.2-4_i386 /usr/bin/iperf, then started the server with iperf –s and connected from the client using iperf -c elastic_ip_of_iperf_server.

    – niemion
    Jan 29 '14 at 22:52











  • When you are running these iperf tests, are you sure your instance isn't maxing out the CPU or anything? Have you tried with an alternate OS? Have you checked with Amazon's support?

    – Zoredache
    Jan 29 '14 at 23:02











  • @Zoredache, CPU-usage is only a few percent. I have not tried with another OS, but I could try with Red Hat Enterprise Linux 6.4, SUSE Linux Enterprise Server 11 or Ubuntu Server 13.10. Which one would you suggest? Amazon support has not answered me, I guess it's because I haven't payed for support so I only have access to sales "support".

    – niemion
    Jan 29 '14 at 23:07






  • 1





    @niemion things like window size, threads, etc will play in here. They are all detailed in the iperf manpage. I'm not sure that running iperf with no options will ever yield "good" results, but I don't have any 10GbE hardware to test with

    – MDMarra
    Jan 29 '14 at 23:10


















3















When I test my own '10 Gigabit' instances (c3.8xlarge) with iperf I won't see transfer rates exceeding 1.73 Gbps. This is at least four times worse than what a blogger at scalablelogic reports where tests show results of 7 Gbps and 9.5 Gbps.



I'm testing between two c3.8xlarge instances located in the same zone and region, so these should be optimal benchmarking conditions. The one c3.8xlarge acts as iperf server and the other as an iperf client. Both instances are launched with Amazon Linux AMI 2013.09.2 - ami-5256b825 (64-bit).



Why am I seeing such poor results?



What should I look at if I want to improve throughput?










share|improve this question






















  • Please paste your iperf configuration, as it very well could be the culprit.

    – MDMarra
    Jan 29 '14 at 22:43











  • @MDMarra, please explain how I find the iperf configuration? I have simply installed on both instances using wget http://iperf.fr/download/iperf_2.0.2/iperf_2.0.2-4_i386 ; chmod +x iperf_2.0.2-4_i386 ; sudo mv iperf_2.0.2-4_i386 /usr/bin/iperf, then started the server with iperf –s and connected from the client using iperf -c elastic_ip_of_iperf_server.

    – niemion
    Jan 29 '14 at 22:52











  • When you are running these iperf tests, are you sure your instance isn't maxing out the CPU or anything? Have you tried with an alternate OS? Have you checked with Amazon's support?

    – Zoredache
    Jan 29 '14 at 23:02











  • @Zoredache, CPU-usage is only a few percent. I have not tried with another OS, but I could try with Red Hat Enterprise Linux 6.4, SUSE Linux Enterprise Server 11 or Ubuntu Server 13.10. Which one would you suggest? Amazon support has not answered me, I guess it's because I haven't payed for support so I only have access to sales "support".

    – niemion
    Jan 29 '14 at 23:07






  • 1





    @niemion things like window size, threads, etc will play in here. They are all detailed in the iperf manpage. I'm not sure that running iperf with no options will ever yield "good" results, but I don't have any 10GbE hardware to test with

    – MDMarra
    Jan 29 '14 at 23:10














3












3








3


3






When I test my own '10 Gigabit' instances (c3.8xlarge) with iperf I won't see transfer rates exceeding 1.73 Gbps. This is at least four times worse than what a blogger at scalablelogic reports where tests show results of 7 Gbps and 9.5 Gbps.



I'm testing between two c3.8xlarge instances located in the same zone and region, so these should be optimal benchmarking conditions. The one c3.8xlarge acts as iperf server and the other as an iperf client. Both instances are launched with Amazon Linux AMI 2013.09.2 - ami-5256b825 (64-bit).



Why am I seeing such poor results?



What should I look at if I want to improve throughput?










share|improve this question














When I test my own '10 Gigabit' instances (c3.8xlarge) with iperf I won't see transfer rates exceeding 1.73 Gbps. This is at least four times worse than what a blogger at scalablelogic reports where tests show results of 7 Gbps and 9.5 Gbps.



I'm testing between two c3.8xlarge instances located in the same zone and region, so these should be optimal benchmarking conditions. The one c3.8xlarge acts as iperf server and the other as an iperf client. Both instances are launched with Amazon Linux AMI 2013.09.2 - ami-5256b825 (64-bit).



Why am I seeing such poor results?



What should I look at if I want to improve throughput?







networking amazon-ec2 bandwidth-measuring






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 29 '14 at 22:39









niemionniemion

14118




14118












  • Please paste your iperf configuration, as it very well could be the culprit.

    – MDMarra
    Jan 29 '14 at 22:43











  • @MDMarra, please explain how I find the iperf configuration? I have simply installed on both instances using wget http://iperf.fr/download/iperf_2.0.2/iperf_2.0.2-4_i386 ; chmod +x iperf_2.0.2-4_i386 ; sudo mv iperf_2.0.2-4_i386 /usr/bin/iperf, then started the server with iperf –s and connected from the client using iperf -c elastic_ip_of_iperf_server.

    – niemion
    Jan 29 '14 at 22:52











  • When you are running these iperf tests, are you sure your instance isn't maxing out the CPU or anything? Have you tried with an alternate OS? Have you checked with Amazon's support?

    – Zoredache
    Jan 29 '14 at 23:02











  • @Zoredache, CPU-usage is only a few percent. I have not tried with another OS, but I could try with Red Hat Enterprise Linux 6.4, SUSE Linux Enterprise Server 11 or Ubuntu Server 13.10. Which one would you suggest? Amazon support has not answered me, I guess it's because I haven't payed for support so I only have access to sales "support".

    – niemion
    Jan 29 '14 at 23:07






  • 1





    @niemion things like window size, threads, etc will play in here. They are all detailed in the iperf manpage. I'm not sure that running iperf with no options will ever yield "good" results, but I don't have any 10GbE hardware to test with

    – MDMarra
    Jan 29 '14 at 23:10


















  • Please paste your iperf configuration, as it very well could be the culprit.

    – MDMarra
    Jan 29 '14 at 22:43











  • @MDMarra, please explain how I find the iperf configuration? I have simply installed on both instances using wget http://iperf.fr/download/iperf_2.0.2/iperf_2.0.2-4_i386 ; chmod +x iperf_2.0.2-4_i386 ; sudo mv iperf_2.0.2-4_i386 /usr/bin/iperf, then started the server with iperf –s and connected from the client using iperf -c elastic_ip_of_iperf_server.

    – niemion
    Jan 29 '14 at 22:52











  • When you are running these iperf tests, are you sure your instance isn't maxing out the CPU or anything? Have you tried with an alternate OS? Have you checked with Amazon's support?

    – Zoredache
    Jan 29 '14 at 23:02











  • @Zoredache, CPU-usage is only a few percent. I have not tried with another OS, but I could try with Red Hat Enterprise Linux 6.4, SUSE Linux Enterprise Server 11 or Ubuntu Server 13.10. Which one would you suggest? Amazon support has not answered me, I guess it's because I haven't payed for support so I only have access to sales "support".

    – niemion
    Jan 29 '14 at 23:07






  • 1





    @niemion things like window size, threads, etc will play in here. They are all detailed in the iperf manpage. I'm not sure that running iperf with no options will ever yield "good" results, but I don't have any 10GbE hardware to test with

    – MDMarra
    Jan 29 '14 at 23:10

















Please paste your iperf configuration, as it very well could be the culprit.

– MDMarra
Jan 29 '14 at 22:43





Please paste your iperf configuration, as it very well could be the culprit.

– MDMarra
Jan 29 '14 at 22:43













@MDMarra, please explain how I find the iperf configuration? I have simply installed on both instances using wget http://iperf.fr/download/iperf_2.0.2/iperf_2.0.2-4_i386 ; chmod +x iperf_2.0.2-4_i386 ; sudo mv iperf_2.0.2-4_i386 /usr/bin/iperf, then started the server with iperf –s and connected from the client using iperf -c elastic_ip_of_iperf_server.

– niemion
Jan 29 '14 at 22:52





@MDMarra, please explain how I find the iperf configuration? I have simply installed on both instances using wget http://iperf.fr/download/iperf_2.0.2/iperf_2.0.2-4_i386 ; chmod +x iperf_2.0.2-4_i386 ; sudo mv iperf_2.0.2-4_i386 /usr/bin/iperf, then started the server with iperf –s and connected from the client using iperf -c elastic_ip_of_iperf_server.

– niemion
Jan 29 '14 at 22:52













When you are running these iperf tests, are you sure your instance isn't maxing out the CPU or anything? Have you tried with an alternate OS? Have you checked with Amazon's support?

– Zoredache
Jan 29 '14 at 23:02





When you are running these iperf tests, are you sure your instance isn't maxing out the CPU or anything? Have you tried with an alternate OS? Have you checked with Amazon's support?

– Zoredache
Jan 29 '14 at 23:02













@Zoredache, CPU-usage is only a few percent. I have not tried with another OS, but I could try with Red Hat Enterprise Linux 6.4, SUSE Linux Enterprise Server 11 or Ubuntu Server 13.10. Which one would you suggest? Amazon support has not answered me, I guess it's because I haven't payed for support so I only have access to sales "support".

– niemion
Jan 29 '14 at 23:07





@Zoredache, CPU-usage is only a few percent. I have not tried with another OS, but I could try with Red Hat Enterprise Linux 6.4, SUSE Linux Enterprise Server 11 or Ubuntu Server 13.10. Which one would you suggest? Amazon support has not answered me, I guess it's because I haven't payed for support so I only have access to sales "support".

– niemion
Jan 29 '14 at 23:07




1




1





@niemion things like window size, threads, etc will play in here. They are all detailed in the iperf manpage. I'm not sure that running iperf with no options will ever yield "good" results, but I don't have any 10GbE hardware to test with

– MDMarra
Jan 29 '14 at 23:10






@niemion things like window size, threads, etc will play in here. They are all detailed in the iperf manpage. I'm not sure that running iperf with no options will ever yield "good" results, but I don't have any 10GbE hardware to test with

– MDMarra
Jan 29 '14 at 23:10











4 Answers
4






active

oldest

votes


















12














AWS Support admit that 10 GbE speeds can only be achieved between instances on the private subnet network. It requires that the private IP is used as opposed to the public IP which in my case always maxes out at 1.73 Gbps. That might change depending on zone and region. If you see different results please post them here.



This means that when it comes to external throughput, the c3.8xlarge (or similar 10 GbE instances) offer terrible value when compared to smaller instances with "High" network capabilities. A c1.medium instance comes at 1/16 the price of a c3.8xlarge, but it will allow for over half the througput (~0,95 Gbps) of a c3.8xlarge 10 GbE instance (~1,7 Gbps).



See this thread on the Wowza forums for AWS Support's answers.






share|improve this answer
































    5














    Because of the virtualization layer the networking layer can't use DMA directly and CPU has to copy data back and forth spending time doing softirq. In this case, when you have too many packets transferred you need to tell the kernel to use more than one CPU core for that.



    You can monitor this by doing watch -n1 cat /proc/softirqs and looking at NET_RX.



    Fortunately there is a feature called packet steering which allow us to use more CPU cores for receiving and transiting packets.
    enter image description here



    To allow the CPU to use more than one core for receiving packets you can do echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus



    For transiting you can do echo f0 > /sys/class/net/eth0/queues/tx-0/xps_cpus



    This way the first 4 cores would be used for receiving and the next for 4 for transmitting.



    f => 1+2+4+8 = 15 in hexadecimal
    f0 => 16+32+64+128 = 240 in hexadecimal





    share|improve this answer

























    • thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

      – niemion
      Jan 30 '14 at 12:44






    • 1





      Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

      – Eugene Beresovsky
      May 28 '15 at 4:15



















    1














    Hope this helps you, we've wondered EC2's true public facing throughput for a while. We just finished running several Wowza Edge instances on C4.8xl instances and had no issues at 6+Gbps per instance. Per http://www.aerospike.com/blog/boosting-amazon-ec2-network-for-high-throughput/, the benchmarks below seem to be very accurate:



    *Network Bandwidth
    Amazon offers a range of instance types with varying amounts of memory and CPU. What is not well “documented” however, is network capabilities which are simply categorized as – Low, Moderate, High, and 10Gb. Based on our experiments running Aerospike servers on AWS and iperf runs on AWS, we were able to better define these categories to the following numbers:



    • Low – Up to 100 Mbps

    • Moderate – 100 Mbps to 300 Mbps

    • High – 100 Mbps to 1.86 Gbps

    • 10Gb – upto 8.86Gbps*





    share|improve this answer






























      1














      I am not sure how you are running iperf for your tests but sometimes it needs to be run multi-threaded to yield results that better reflect the actual maximum throughput of the underlying network stack. I have seen it necessary to sometimes build the thread count up to 96 to get to what appeared to be close to the optimal throughput.






      share|improve this answer























        Your Answer








        StackExchange.ready(function()
        var channelOptions =
        tags: "".split(" "),
        id: "2"
        ;
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function()
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled)
        StackExchange.using("snippets", function()
        createEditor();
        );

        else
        createEditor();

        );

        function createEditor()
        StackExchange.prepareEditor(
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader:
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        ,
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        );



        );













        draft saved

        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f570879%2f1-73-gbps-at-best-on-an-amazon-ec2-10-gigabit-instance%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        12














        AWS Support admit that 10 GbE speeds can only be achieved between instances on the private subnet network. It requires that the private IP is used as opposed to the public IP which in my case always maxes out at 1.73 Gbps. That might change depending on zone and region. If you see different results please post them here.



        This means that when it comes to external throughput, the c3.8xlarge (or similar 10 GbE instances) offer terrible value when compared to smaller instances with "High" network capabilities. A c1.medium instance comes at 1/16 the price of a c3.8xlarge, but it will allow for over half the througput (~0,95 Gbps) of a c3.8xlarge 10 GbE instance (~1,7 Gbps).



        See this thread on the Wowza forums for AWS Support's answers.






        share|improve this answer





























          12














          AWS Support admit that 10 GbE speeds can only be achieved between instances on the private subnet network. It requires that the private IP is used as opposed to the public IP which in my case always maxes out at 1.73 Gbps. That might change depending on zone and region. If you see different results please post them here.



          This means that when it comes to external throughput, the c3.8xlarge (or similar 10 GbE instances) offer terrible value when compared to smaller instances with "High" network capabilities. A c1.medium instance comes at 1/16 the price of a c3.8xlarge, but it will allow for over half the througput (~0,95 Gbps) of a c3.8xlarge 10 GbE instance (~1,7 Gbps).



          See this thread on the Wowza forums for AWS Support's answers.






          share|improve this answer



























            12












            12








            12







            AWS Support admit that 10 GbE speeds can only be achieved between instances on the private subnet network. It requires that the private IP is used as opposed to the public IP which in my case always maxes out at 1.73 Gbps. That might change depending on zone and region. If you see different results please post them here.



            This means that when it comes to external throughput, the c3.8xlarge (or similar 10 GbE instances) offer terrible value when compared to smaller instances with "High" network capabilities. A c1.medium instance comes at 1/16 the price of a c3.8xlarge, but it will allow for over half the througput (~0,95 Gbps) of a c3.8xlarge 10 GbE instance (~1,7 Gbps).



            See this thread on the Wowza forums for AWS Support's answers.






            share|improve this answer















            AWS Support admit that 10 GbE speeds can only be achieved between instances on the private subnet network. It requires that the private IP is used as opposed to the public IP which in my case always maxes out at 1.73 Gbps. That might change depending on zone and region. If you see different results please post them here.



            This means that when it comes to external throughput, the c3.8xlarge (or similar 10 GbE instances) offer terrible value when compared to smaller instances with "High" network capabilities. A c1.medium instance comes at 1/16 the price of a c3.8xlarge, but it will allow for over half the througput (~0,95 Gbps) of a c3.8xlarge 10 GbE instance (~1,7 Gbps).



            See this thread on the Wowza forums for AWS Support's answers.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Feb 11 '14 at 23:49

























            answered Feb 11 '14 at 23:44









            niemionniemion

            14118




            14118























                5














                Because of the virtualization layer the networking layer can't use DMA directly and CPU has to copy data back and forth spending time doing softirq. In this case, when you have too many packets transferred you need to tell the kernel to use more than one CPU core for that.



                You can monitor this by doing watch -n1 cat /proc/softirqs and looking at NET_RX.



                Fortunately there is a feature called packet steering which allow us to use more CPU cores for receiving and transiting packets.
                enter image description here



                To allow the CPU to use more than one core for receiving packets you can do echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus



                For transiting you can do echo f0 > /sys/class/net/eth0/queues/tx-0/xps_cpus



                This way the first 4 cores would be used for receiving and the next for 4 for transmitting.



                f => 1+2+4+8 = 15 in hexadecimal
                f0 => 16+32+64+128 = 240 in hexadecimal





                share|improve this answer

























                • thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

                  – niemion
                  Jan 30 '14 at 12:44






                • 1





                  Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

                  – Eugene Beresovsky
                  May 28 '15 at 4:15
















                5














                Because of the virtualization layer the networking layer can't use DMA directly and CPU has to copy data back and forth spending time doing softirq. In this case, when you have too many packets transferred you need to tell the kernel to use more than one CPU core for that.



                You can monitor this by doing watch -n1 cat /proc/softirqs and looking at NET_RX.



                Fortunately there is a feature called packet steering which allow us to use more CPU cores for receiving and transiting packets.
                enter image description here



                To allow the CPU to use more than one core for receiving packets you can do echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus



                For transiting you can do echo f0 > /sys/class/net/eth0/queues/tx-0/xps_cpus



                This way the first 4 cores would be used for receiving and the next for 4 for transmitting.



                f => 1+2+4+8 = 15 in hexadecimal
                f0 => 16+32+64+128 = 240 in hexadecimal





                share|improve this answer

























                • thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

                  – niemion
                  Jan 30 '14 at 12:44






                • 1





                  Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

                  – Eugene Beresovsky
                  May 28 '15 at 4:15














                5












                5








                5







                Because of the virtualization layer the networking layer can't use DMA directly and CPU has to copy data back and forth spending time doing softirq. In this case, when you have too many packets transferred you need to tell the kernel to use more than one CPU core for that.



                You can monitor this by doing watch -n1 cat /proc/softirqs and looking at NET_RX.



                Fortunately there is a feature called packet steering which allow us to use more CPU cores for receiving and transiting packets.
                enter image description here



                To allow the CPU to use more than one core for receiving packets you can do echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus



                For transiting you can do echo f0 > /sys/class/net/eth0/queues/tx-0/xps_cpus



                This way the first 4 cores would be used for receiving and the next for 4 for transmitting.



                f => 1+2+4+8 = 15 in hexadecimal
                f0 => 16+32+64+128 = 240 in hexadecimal





                share|improve this answer















                Because of the virtualization layer the networking layer can't use DMA directly and CPU has to copy data back and forth spending time doing softirq. In this case, when you have too many packets transferred you need to tell the kernel to use more than one CPU core for that.



                You can monitor this by doing watch -n1 cat /proc/softirqs and looking at NET_RX.



                Fortunately there is a feature called packet steering which allow us to use more CPU cores for receiving and transiting packets.
                enter image description here



                To allow the CPU to use more than one core for receiving packets you can do echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus



                For transiting you can do echo f0 > /sys/class/net/eth0/queues/tx-0/xps_cpus



                This way the first 4 cores would be used for receiving and the next for 4 for transmitting.



                f => 1+2+4+8 = 15 in hexadecimal
                f0 => 16+32+64+128 = 240 in hexadecimal






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Jan 30 '14 at 10:37

























                answered Jan 30 '14 at 10:23









                BogdanBogdan

                19016




                19016












                • thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

                  – niemion
                  Jan 30 '14 at 12:44






                • 1





                  Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

                  – Eugene Beresovsky
                  May 28 '15 at 4:15


















                • thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

                  – niemion
                  Jan 30 '14 at 12:44






                • 1





                  Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

                  – Eugene Beresovsky
                  May 28 '15 at 4:15

















                thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

                – niemion
                Jan 30 '14 at 12:44





                thank you. I tried it on both the iperf server and client, but I'm still limited at ~ 1.73 Gbps.

                – niemion
                Jan 30 '14 at 12:44




                1




                1





                Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

                – Eugene Beresovsky
                May 28 '15 at 4:15






                Not true (any more?): SR-IOV aka AWS Enhanced Networking, which gets rid of one layer of buffer copying for virtual machines, can be used on Linux and Windows.

                – Eugene Beresovsky
                May 28 '15 at 4:15












                1














                Hope this helps you, we've wondered EC2's true public facing throughput for a while. We just finished running several Wowza Edge instances on C4.8xl instances and had no issues at 6+Gbps per instance. Per http://www.aerospike.com/blog/boosting-amazon-ec2-network-for-high-throughput/, the benchmarks below seem to be very accurate:



                *Network Bandwidth
                Amazon offers a range of instance types with varying amounts of memory and CPU. What is not well “documented” however, is network capabilities which are simply categorized as – Low, Moderate, High, and 10Gb. Based on our experiments running Aerospike servers on AWS and iperf runs on AWS, we were able to better define these categories to the following numbers:



                • Low – Up to 100 Mbps

                • Moderate – 100 Mbps to 300 Mbps

                • High – 100 Mbps to 1.86 Gbps

                • 10Gb – upto 8.86Gbps*





                share|improve this answer



























                  1














                  Hope this helps you, we've wondered EC2's true public facing throughput for a while. We just finished running several Wowza Edge instances on C4.8xl instances and had no issues at 6+Gbps per instance. Per http://www.aerospike.com/blog/boosting-amazon-ec2-network-for-high-throughput/, the benchmarks below seem to be very accurate:



                  *Network Bandwidth
                  Amazon offers a range of instance types with varying amounts of memory and CPU. What is not well “documented” however, is network capabilities which are simply categorized as – Low, Moderate, High, and 10Gb. Based on our experiments running Aerospike servers on AWS and iperf runs on AWS, we were able to better define these categories to the following numbers:



                  • Low – Up to 100 Mbps

                  • Moderate – 100 Mbps to 300 Mbps

                  • High – 100 Mbps to 1.86 Gbps

                  • 10Gb – upto 8.86Gbps*





                  share|improve this answer

























                    1












                    1








                    1







                    Hope this helps you, we've wondered EC2's true public facing throughput for a while. We just finished running several Wowza Edge instances on C4.8xl instances and had no issues at 6+Gbps per instance. Per http://www.aerospike.com/blog/boosting-amazon-ec2-network-for-high-throughput/, the benchmarks below seem to be very accurate:



                    *Network Bandwidth
                    Amazon offers a range of instance types with varying amounts of memory and CPU. What is not well “documented” however, is network capabilities which are simply categorized as – Low, Moderate, High, and 10Gb. Based on our experiments running Aerospike servers on AWS and iperf runs on AWS, we were able to better define these categories to the following numbers:



                    • Low – Up to 100 Mbps

                    • Moderate – 100 Mbps to 300 Mbps

                    • High – 100 Mbps to 1.86 Gbps

                    • 10Gb – upto 8.86Gbps*





                    share|improve this answer













                    Hope this helps you, we've wondered EC2's true public facing throughput for a while. We just finished running several Wowza Edge instances on C4.8xl instances and had no issues at 6+Gbps per instance. Per http://www.aerospike.com/blog/boosting-amazon-ec2-network-for-high-throughput/, the benchmarks below seem to be very accurate:



                    *Network Bandwidth
                    Amazon offers a range of instance types with varying amounts of memory and CPU. What is not well “documented” however, is network capabilities which are simply categorized as – Low, Moderate, High, and 10Gb. Based on our experiments running Aerospike servers on AWS and iperf runs on AWS, we were able to better define these categories to the following numbers:



                    • Low – Up to 100 Mbps

                    • Moderate – 100 Mbps to 300 Mbps

                    • High – 100 Mbps to 1.86 Gbps

                    • 10Gb – upto 8.86Gbps*






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Sep 22 '15 at 23:59









                    StreamSpotDevGuyStreamSpotDevGuy

                    112




                    112





















                        1














                        I am not sure how you are running iperf for your tests but sometimes it needs to be run multi-threaded to yield results that better reflect the actual maximum throughput of the underlying network stack. I have seen it necessary to sometimes build the thread count up to 96 to get to what appeared to be close to the optimal throughput.






                        share|improve this answer



























                          1














                          I am not sure how you are running iperf for your tests but sometimes it needs to be run multi-threaded to yield results that better reflect the actual maximum throughput of the underlying network stack. I have seen it necessary to sometimes build the thread count up to 96 to get to what appeared to be close to the optimal throughput.






                          share|improve this answer

























                            1












                            1








                            1







                            I am not sure how you are running iperf for your tests but sometimes it needs to be run multi-threaded to yield results that better reflect the actual maximum throughput of the underlying network stack. I have seen it necessary to sometimes build the thread count up to 96 to get to what appeared to be close to the optimal throughput.






                            share|improve this answer













                            I am not sure how you are running iperf for your tests but sometimes it needs to be run multi-threaded to yield results that better reflect the actual maximum throughput of the underlying network stack. I have seen it necessary to sometimes build the thread count up to 96 to get to what appeared to be close to the optimal throughput.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Jan 31 '18 at 17:02









                            Boris EpsteinBoris Epstein

                            395




                            395



























                                draft saved

                                draft discarded
















































                                Thanks for contributing an answer to Server Fault!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid


                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.

                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function ()
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f570879%2f1-73-gbps-at-best-on-an-amazon-ec2-10-gigabit-instance%23new-answer', 'question_page');

                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

                                Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

                                What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company