Remco Post wrote:
I guess that if I read these stats correctly, the bottleneck for * is
not so much cpu power, it's the cpu cache. As I see it, the cpu cache
becomes far less efficient for larger call volumes, eg. the cache is
unable to keep the most frequently used code and data in cache, due to
the sheer amount of call date going through the cpu. I guess that you do
have some gain from going from single core to dual-core but is dwarfed
by the very limited effect on the cache.

But that is just a guess. Maybe for pure voip solutions cpu's with a
huge cache like eg Power5+ would perform much better that ia32/x64 cpu's.
Remco,

Allow me to add some extra information about the processors on each server.

Dual-Core/8 CPU Server
======================
CPU Manufacturer: Intel
     CPU Family: Xeon MP
       Codename: Tulsa
Processor Number: 7120M
      CPU Speed: 3.00 GHz
      Bus Speed: 800 MHz
      CPU Cores: 2
       L1 Cache: 32 KB
       L2 Cache: 2048 KB (1024 KB Per Core)
       L3 Cache: 4096 KB (Shared)
      More Info: http://processorfinder.intel.com/details.aspx?sSpec=SL9HC

Single-Core/4 CPU Server
========================
CPU Manufacturer: Intel
     CPU Family: Xeon MP
       Codename: Cranford
Processor Number: N/A
      CPU Speed: 3.16 GHz
Bus Speed: 667 MHz CPU Cores: 1
       L1 Cache: 16 KB
       L2 Cache: 1024 KB
       L3 Cache: 0 KB
      More Info: http://processorfinder.intel.com/details.aspx?sSpec=SL84U

As you can see, the dual-core server not only has more processing power it also has much more CPU cache. While I don't doubt that CPU cache may eventually limit Asterisk's scalability, I don't think it's the bottleneck I'm hitting. Moving up to a 2.6.17 kernel with multi-core scheduling support (IIRC this considers the shared cache when making scheduling decisions) would likely gain me a small performance benefit, but nothing in the range of what we were expecting when we went to dual-core.

One difference that really stands out between the performance of the single-core and dual-core servers is the ratio of system to user time at similar loads. Note that a load that would bring the single-core server to 50% idle would bring the dual-core server to roughly 74% idle. We used sar to capture these loads on both types of servers when they were in production (the output is shown below). The system to user time ratio on the single-core server is 2.3 to 1, but it is 14.6 to 1 on the dual-core server.

Stephen Davies has suggested using oprofile to determine where the system time is being spent, but I haven't gotten a chance to do so yet. I'm also considering strace. Any other possible explanations or suggestions for diagnosing this problem would be appreciated.

Mon Apr  2 12:15:01 EDT 2007
Idle (sar -P ALL 60 14) (60 seconds 14 slices)
Linux 2.6.12-1.1376_FC3smp (4core.imminc.com)         04/02/07

12:24:01          CPU     %user     %nice   %system   %iowait     %idle
12:25:02          all     14.97      0.03     34.25      0.92     49.82
12:25:02            0      8.83      0.05     33.60      1.28     56.24
12:25:02            1     17.50      0.02     34.60      0.57     47.32
12:25:02            2     19.94      0.02     33.52      1.31     45.22
12:25:02            3     13.62      0.02     35.29      0.52     50.55

Fri May 11 12:00:01 EDT 2007
Idle (sar -P ALL 60 14) (60 seconds 14 slices)
Linux 2.6.12-1.1376_FC3smp (8core.imminc.com)         05/11/07

12:08:02          CPU     %user     %nice   %system   %iowait     %idle
12:09:02          all      1.69      0.00     24.70      0.08     73.52
12:09:02            0      2.08      0.02     30.16      0.00     67.74
12:09:02            1      1.95      0.00     25.59      0.62     71.85
12:09:02            2      1.73      0.00     25.12      0.00     73.15
12:09:02            3      1.55      0.02     24.70      0.00     73.73
12:09:02            4      1.67      0.00     23.54      0.02     74.78
12:09:02            5      1.57      0.02     23.13      0.00     75.29
12:09:02            6      1.45      0.02     22.90      0.00     75.64
12:09:02            7      1.48      0.00     22.54      0.00     75.98

Thank you for your response,

Matthew Roth
InterMedia Marketing Solutions
Software Engineer and Systems Developer

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to