Any non trivial program is scalable up a certain point.
In your code, you may have some contention.
It can be physical (CPU, memory, network, disks, etc ...) or logical 
(mutexes, channels, shared memory, etc ...)
If it is not in your own code, then perhaps it may be in the packages you 
use, including the Go standard libraries or the runtime itself.
The exact cause is difficult to guess, that's why profiling is useful.

Also, the Go scheduler is currently not NUMA aware. It does not exploit 
well the locality in a machine having multiple sockets.
On a two sockets box, it is usually more efficient to run two instances of 
the application. and pin them to their own NUMA node, rather than one 
single instance sharing all the CPUs.

Regards.
Didier.

On Thursday, November 24, 2016 at 10:02:21 PM UTC+1, 3702...@qq.com wrote:
>
> today i am testing my service(something like cdn).system is centos 
> 6.5,memory=32GB,bandwidth=10Gb and 4000 live stream.one mechine is 16-core 
> cpu and the other is 8-core cpu.the testing result makes me feel 
> upset,16-core cpu mechine run  about 1000% cpu and play is not smooth,but 
> the 8-core cpu mechine run about 600% cpu and play 
> smooth!!!!!!!why?????could someone help??????help me!!!!
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to