Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I'm trying to measure the CPU usage on a dual core ARM Cortex A9 processor to benchmark a it. It will be used a router. I enabled ip forwarding and I'm running iperf tests along with monitoring the CPU usage using top. I'm a little confused about interpreting the results from top.
Cpu0 : 0.0%us, 0.5%sy, 0.0%ni, 59.1%id, 0.0%wa, 0.0%hi, 40.5%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
1) During packet forwarding why is the kernel usage at 0.5% compared to softirq percentage 40.5%? So the effective CPU usage is (40.5 + 0.5)%?
2) Why is the 2nd CPU completely idle?
Thanks!
It means that process context kernel usage is 0.5% i.e. non
IRQ/Softirq usage in kernel is 0.5%. 40.5% is softirq as you clearly
say. Effective CPU usage is as you say
probably because either you
a) have only one hard irq for your
network device and that's tied to core 0 or
b) all IRQs are tied to core 0 even if you have more than one IRQ line/have
multi-queue
c) Your benchmark has a single TCP/UDP stream so the hashing is putting
everything on core 0 even though you have multiple queue/cores.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 2 years ago.
Improve this question
I made tests with iperf, iperf3, ssh + pv + /dev/zero, copying files, and netcat (nc).
Most of the tests are showing 940 Mbit/s, like expected, including netcat.
But when I saw that actually for some of these tools, the cpu was a bottleneck, I moved to exposing multiple ports for netcat, and using up to 8 parallel connections. This increased the speed from 800 Mbit/s to over 3 Gbit/s.
My router is a cheap one, Hub 3 from Virgin Media. The ethernet cables are of quality.
Could this be real? Or could netcat be compressing by default?
Thanks,
Nicu
Actually indeed it is not real. I make the test again now and it is a bit under 1Gbit/s aggregated across connections, on average, as expected. Previously probably the time was not enough to show enough degradation of the speeds of previous connections as i was opening more and i incorrectly assumed that the connections will quickly stabilize to equal throughputs, which is not real either.
I did get 3 Gbit/s via a thunderbolt direct connection between computers. However it was 3 Gbit in one direction and 500 Mbit in the other.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
I have a lot of general networking knowledge, but I am unsure about some of the specifics. This topic was lead to me through a question within my statistics class discussing discrete or continuous variables.
The example used the time to download a file from a website.
I know that the maximum speed that a file is capable of being transferred is directly related to the speed of the connection, the protocol used, network conditions, and can be slightly enhanced (or degraded) by the use of compression. Regardless, the fastest possible speed can be calculated for any given connection, but I have never found any information detailing what the minimum sustained transfer rate could be.
Is it possible to go below 1bps?
The minimum for any kind of transfer is 0 unit/second.
If someone temporarily unplugs your router from the internet, during the seconds the router is unplugged you will have 0 bps. If the disconnection is short the connection could recover, but during the disconnect you will have no transfering of data.
Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 days ago.
Improve this question
Im examining solutions for new pbx.
between local freepbx/asterisk to hosted pbx.
the only /main question issue is the call quality between two local sips.
let`s say - two people from the same office, using hosted pbx - will the call quality be based on network speed or internet line speed ?
are there any hosted pbx who knows to connected two peers from the same Nat localy? or it allways (the call) have to go trough the internet.
Call quality will depend of bandwidth(should be enought), codec and latency.
If you have local pbx, you usually use local lan and have much more bandwidth.
On any PBX(hosted, local) based on asterisk you can use
canreinvite=yes
directrtpsetup=yes
after that rtp data will go directly between peers. If peers not in same line, you will have no sound. As result no call recordings posible on such calls.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
EDIT: i would really appreciate a source or an example that talks about this being done.
Some companies have a distributed program written in C++, it runs on different machines, it uses TCP/IP for inter communication between different machines (windows and linux). Is it possible to write a program from the ground up using other languages (python, java) that will be able to join their network?
Yes. Of course, TCP/IP is language agnostic. The key issue is to get the protocol correct.
If you have the specification for what is being communicated (or can reverse-engineer it), then yes. Without knowing what to send, and what to expect back it'll be a losing battle.
Of course! That's why it is a protocol: you don't have to know who is on the other side, as long as it follows the protocol specification
Based on edit:
This info is anywhere, based on the language you want to use. Here is a basic python example for tcp communication
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
I have a question about downloading with IDM or without it
the question is, we have the same bandwidth and the server sharing same bandwidth
for IDM and simple downlaod manager.
but why we can download faster with IDM? what is the reason?
TNX...
Without a download accelerator, you may not be hitting your and the remote server's bandwidth bottleneck. This means that either or both of you have still more bandwidth that can be tapped.
Download accelerators tap this extra bandwidth in two ways:
By increasing the number of connections to the server, IDM consumes
all or maximum of your bandwidth and increases the proportion of your total internet bandwidth that goes to the download.
The remote server divides it's total bandwidth to the number of connections to it. So, multiple connections to the server ensure that the total bandwidth you're tapping is a sum of those divided bandwidths thus removing another bottleneck.
See http://en.wikipedia.org/wiki/Download_manager#Download_acceleration for more.
Typically a download manager accelerates by making multiple simultaneous connections to the remote server. I believe IDM may actually make multiple requests to the same file at the same time, and thus trick the server into providing higher bandwidth through the multiple connections. Servers are typically bandwidth limited on a per-connection basis, so by making multiple connections, you get higher total bandwidth.