About

About.PerformanceTests-3-4 History

Hide minor edits - Show changes to markup

May 21, 2023, at 07:05 PM by liviu -
Changed line 104 from:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
to:
14.4TM-Con-N-Read-0400052%20%12 MB/sPDF
May 21, 2023, at 07:04 PM by liviu -
Changed line 104 from:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
to:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
May 20, 2023, at 06:28 PM by liviu -
Changed line 76 from:
76 + AUTH 10k600059%65%26 MB/sPDFMySQL 65%+ CPU usage
to:
75.1 + AUTH 10k600059%65%26 MB/sPDFMySQL 65%+ CPU usage
May 20, 2023, at 12:10 PM by liviu -
Changed lines 63-64 from:
5.25 + TH(Call-ID)625091%88%20 MB/sPDF
to:
5.25.1 + TH(Call-ID)625091%88%20 MB/sPDF
Changed line 75 from:
65 + AUTH 1k600054%65%26 MB/sPDFMySQL 60%+ CPU usage
to:
65.1 + AUTH 1k600054%65%26 MB/sPDFMySQL 60%+ CPU usage
May 20, 2023, at 11:46 AM by liviu -
Changed line 115 from:
  • the new OpenSIPS TCP connection balancing is based on the load: statistic, so when doing TCP engine stress-testing in single-connection mode, make sure to start the UACs gradually, one-by-one in order to give the load: statistic a bit of time to update, such that the new high-throughput connections do not all end up in the same TCP worker!
to:
  • the new OpenSIPS TCP connection balancing is based on the load: statistic, so when doing TCP engine stress-testing in single-connection mode (on the clients' side), make sure to start the UACs gradually, one-by-one in order to give the load: statistic a bit of time to update, such that the new high-throughput connections do not all end up in the same TCP worker!
May 20, 2023, at 11:19 AM by liviu -
Changed line 28 from:
  • the CPU-bound tests (1-6) used 4 UDP workers, in order to minimize context-switching (since the OpenSIPS system was a quad-core -- 1:1 worker/CPU mapping)
to:
  • the CPU-bound tests (1-6) used a maximum of 8 UDP workers (typically 4), in order to minimize context-switching (since the OpenSIPS system was a quad-core -- 1:1 worker/CPU mapping)
May 10, 2023, at 06:42 PM by liviu -
Added line 4:

May 10, 2023, at 06:41 PM by liviu -
Added line 2:

This page has been visited 2665 times.

May 10, 2023, at 01:34 PM by liviu -
Added line 112:
  • the B2B modules currently have a lower CPS performance, due to the internal complexity of the code. We are still evaluating whether there is room for optimization in the current shape of the codebase.
May 10, 2023, at 01:33 PM by liviu -
Changed lines 99-105 from:
14.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
14.2TM-Con-1-Read-1----PDFNote: conn READ bug at high volumes, WIP
14.3TM-Con-1-Read-2----PDFNote: conn READ bug at high volumes, WIP
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
14.5TM-Con-N-Read-1----PDFNote: conn READ bug at high volumes, WIP
14.6TM-Con-N-Read-2----PDFNote: conn READ bug at high volumes, WIP
to:
14.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
14.2TM-Con-1-Read-1----PDFNote: conn READ bug at high volumes, WIP
14.3TM-Con-1-Read-2----PDFNote: conn READ bug at high volumes, WIP
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
14.5TM-Con-N-Read-1----PDFNote: conn READ bug at high volumes, WIP
14.6TM-Con-N-Read-2----PDFNote: conn READ bug at high volumes, WIP
Changed lines 108-112 from:
to:
  • the newly introduced load: statistic is critical for monitoring the behavior and performance of your OpenSIPS instance. It can help you spot which workers are busy or not. Or when you need extra capacity on your instance, due to being either CPU-bound or I/O-bound.
    • recap: this statistic monitors the "idleness" of your OpenSIPS workers. If they are doing anything other than waiting for a new SIP job, then they are "busy". Otherwise, they are "idle". For example, if an OpenSIPS worker is running a sleep(1000) in your opensips.cfg, its load: value will be 100% (fully busy).
    • a low CPU usage from your OpenSIPS instance does not mean it's necessarily not loaded. It could be stuck in I/O operations and asking for more SIP workers.
  • when adding DB query caching to your OpenSIPS instance, do not be surprised if it's running a higher CPU usage, because the database will be at 0% CPU usage afterwards, resulting in a overall net gain of CPU resource, as well as dramatically reduced I/O wait time (again, watch the load: statistic).
  • the new OpenSIPS TCP connection balancing is based on the load: statistic, so when doing TCP engine stress-testing in single-connection mode, make sure to start the UACs gradually, one-by-one in order to give the load: statistic a bit of time to update, such that the new high-throughput connections do not all end up in the same TCP worker!
May 10, 2023, at 01:13 PM by liviu -
Changed lines 89-91 from:
13.1B2B - TH120064%60%8 MB/sPDF
13.2B2B - REFER100066%61%6 MB/sPDF
13.3B2B - Marketing90068%63%5 MB/sPDF
to:
13.1B2B - TH120064%60%8 MB/sPDF
13.2B2B - REFER100066%61%6 MB/sPDF
13.3B2B - Marketing90068%63%5 MB/sPDF
May 10, 2023, at 01:07 PM by liviu -
Changed lines 73-79 from:
65 + AUTH 1k600054%65%26 MB/sPDFMySQL 60%+ CPU usage
76 + AUTH 10k600059%65%26 MB/sPDFMySQL 65%+ CPU usage
87 + Auth-Caching600065%57%26 MB/sPDFMySQL 0% CPU usage
97 + CDR600055%73%26 MB/sPDFMySQL 110%+ CPU usage
109 + Auth-Caching600058%71%26 MB/sPDFMySQL 70%+ CPU usage
117 + CDR-flat600058%67%26 MB/sPDFMySQL 70%+ CPU usage
1211 + Auth-Caching600065%55%26 MB/sPDFMySQL 0% CPU usage
to:
65 + AUTH 1k600054%65%26 MB/sPDFMySQL 60%+ CPU usage
76 + AUTH 10k600059%65%26 MB/sPDFMySQL 65%+ CPU usage
87 + Auth-Caching600065%57%26 MB/sPDFMySQL 0% CPU usage
97 + CDR600055%73%26 MB/sPDFMySQL 110%+ CPU usage
109 + Auth-Caching600058%71%26 MB/sPDFMySQL 70%+ CPU usage
117 + CDR-flat600058%67%26 MB/sPDFMySQL 70%+ CPU usage
1211 + Auth-Caching600065%55%26 MB/sPDFMySQL 0% CPU usage
May 10, 2023, at 12:57 PM by liviu -
Added lines 52-53:
Unauthenticated Calls
Added lines 68-69:
Authenticated Calls
May 10, 2023, at 12:50 PM by liviu -
Changed line 71 from:
87 + Auth-Caching600065%57%26 MB/sPDF
to:
87 + Auth-Caching600065%57%26 MB/sPDFMySQL 0% CPU usage
Changed line 75 from:
1211 + Auth-Caching600065%55%26 MB/sPDF
to:
1211 + Auth-Caching600065%55%26 MB/sPDFMySQL 0% CPU usage
May 10, 2023, at 12:48 PM by liviu -
Changed lines 54-59 from:
1TM1300077%80%43 MB/sPDF
21 + RR1250083%84%42 MB/sPDF
32 + DIALOG1000095%94%36 MB/sPDF
4DEF. Script1050082%64%36 MB/sPDF
5.14 + DIALOG1000086%73%36 MB/sPDF
5.25 + TH(Call-ID)625091%88%20 MB/sPDF
to:
1TM1300077%80%43 MB/sPDF
21 + RR1250083%84%42 MB/sPDF
32 + DIALOG1000095%94%36 MB/sPDF
4DEF. Script1050082%64%36 MB/sPDF
5.14 + DIALOG1000086%73%36 MB/sPDF
5.25 + TH(Call-ID)625091%88%20 MB/sPDF
May 10, 2023, at 12:35 PM by liviu -
Changed line 98 from:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
to:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
May 10, 2023, at 12:33 PM by liviu -
Changed line 95 from:
14.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
to:
14.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
Changed line 98 from:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
to:
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
May 10, 2023, at 12:32 PM by liviu -
Changed lines 96-97 from:
14.2TM-Con-1-Read-1----PDFNote: conn READ bug, investigating
14.3TM-Con-1-Read-2----PDFNote: conn READ bug, investigating
to:
14.2TM-Con-1-Read-1----PDFNote: conn READ bug at high volumes, WIP
14.3TM-Con-1-Read-2----PDFNote: conn READ bug at high volumes, WIP
Changed lines 99-100 from:
14.5TM-Con-N-Read-1----PDFNote: conn READ bug, investigating
14.6TM-Con-N-Read-2----PDFNote: conn READ bug, investigating
to:
14.5TM-Con-N-Read-1----PDFNote: conn READ bug at high volumes, WIP
14.6TM-Con-N-Read-2----PDFNote: conn READ bug at high volumes, WIP
May 10, 2023, at 12:25 PM by liviu -
Deleted line 46:
May 10, 2023, at 12:24 PM by liviu -
Added lines 77-80:


https://opensips.org/pub/images/stress-tests/opensips-st-graph-2.png

May 10, 2023, at 12:13 PM by liviu -
Added lines 62-67:


https://opensips.org/pub/images/stress-tests/opensips-st-graph-1.png


Deleted lines 76-81:


https://opensips.org/pub/images/stress-tests/opensips-st-graph-1.png

\\

May 10, 2023, at 12:13 PM by liviu -
Added lines 61-63:
Test IDDescriptionCPSAvg. CPULoad-1mAvg. IN/OUT TrafficProfilingNotes
May 10, 2023, at 12:12 PM by liviu -
Added lines 68-73:


https://opensips.org/pub/images/stress-tests/opensips-st-graph-1.png

\\

May 10, 2023, at 11:45 AM by liviu -
Changed lines 83-88 from:
15.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
15.2TM-Con-1-Read-1----PDFNote: conn READ bug, investigating
15.3TM-Con-1-Read-2----PDFNote: conn READ bug, investigating
15.4TM-Con-N-Read-01200082%73%40 MB/sPDF
15.5TM-Con-N-Read-1----PDFNote: conn READ bug, investigating
15.6TM-Con-N-Read-2----PDFNote: conn READ bug, investigating
to:
14.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
14.2TM-Con-1-Read-1----PDFNote: conn READ bug, investigating
14.3TM-Con-1-Read-2----PDFNote: conn READ bug, investigating
14.4TM-Con-N-Read-01200082%73%40 MB/sPDF
14.5TM-Con-N-Read-1----PDFNote: conn READ bug, investigating
14.6TM-Con-N-Read-2----PDFNote: conn READ bug, investigating
May 10, 2023, at 11:44 AM by liviu -
Changed lines 84-85 from:
15.2TM-Con-1-Read-1----PDF
15.3TM-Con-1-Read-2----PDF
to:
15.2TM-Con-1-Read-1----PDFNote: conn READ bug, investigating
15.3TM-Con-1-Read-2----PDFNote: conn READ bug, investigating
Changed lines 87-88 from:
15.5TM-Con-N-Read-1----[[ https://opensips.org | PDF
15.6TM-Con-N-Read-2----PDF
to:
15.5TM-Con-N-Read-1----PDFNote: conn READ bug, investigating
15.6TM-Con-N-Read-2----PDFNote: conn READ bug, investigating
May 10, 2023, at 11:43 AM by liviu -
Changed lines 84-85 from:
15.2TM-Con-1-Read-11250066%58%42 MB/sPDF
15.3TM-Con-1-Read-21000095%94%36 MB/sPDF
to:
15.2TM-Con-1-Read-1----PDF
15.3TM-Con-1-Read-2----PDF
Changed lines 87-88 from:
15.5TM-Con-N-Read-11000086%73%36 MB/sPDF
15.6TM-Con-N-Read-2625091%88%20 MB/sPDF
to:
15.5TM-Con-N-Read-1----[[ https://opensips.org | PDF
15.6TM-Con-N-Read-2----PDF
May 10, 2023, at 10:58 AM by liviu -
Changed lines 73-75 from:
1B2B - TH120064%60%8 MB/sPDF
2B2B - REFER100066%61%6 MB/sPDF
3B2B - Marketing90068%63%5 MB/sPDF
to:
13.1B2B - TH120064%60%8 MB/sPDF
13.2B2B - REFER100066%61%6 MB/sPDF
13.3B2B - Marketing90068%63%5 MB/sPDF
May 10, 2023, at 10:58 AM by liviu -
Changed lines 72-75 from:
Test IDDescriptionCPSAvg Load
1B2B - TH120064%60%PDF
2B2B - REFER100066%61%PDF
3B2B - Marketing90068%63%PDF
to:
Test IDDescriptionCPSAvg. CPULoad-1mAvg. IN/OUT TrafficProfiling
1B2B - TH120064%60%8 MB/sPDF
2B2B - REFER100066%61%6 MB/sPDF
3B2B - Marketing90068%63%5 MB/sPDF
May 10, 2023, at 10:57 AM by liviu -
Changed lines 73-75 from:
1B2B - TH1200PDF
2B2B - REFER1000PDF
3B2B - Marketing900PDF
to:
1B2B - TH120064%60%PDF
2B2B - REFER100066%61%PDF
3B2B - Marketing90068%63%PDF
May 10, 2023, at 10:53 AM by liviu -
Changed line 31 from:
  • latest git revision the tests were run on: b0068befd (May 9th, master branch)
to:
  • latest git revision the tests were run on: b0068befd (May 9th, master branch)
May 10, 2023, at 10:51 AM by liviu -
Changed lines 16-18 from:
  • the upper limit of each test was determined by various metrics: either max CPU usage on the OpenSIPS box or UDP/TCP accumulating Recv-Queue
  • once the CPS limit was discovered -> perform profiling and analyze the resulting
to:
  • the upper limit of each test was determined by various metrics: either max CPU usage on the OpenSIPS box, various error logs at capacity limit or UDP/TCP accumulating Recv-Queue
  • once the CPS limit was discovered -> perform profiling, analyze the CPU usage map and try to spot bottlenecks
Changed lines 31-32 from:
to:
  • latest git revision the tests were run on: b0068befd (May 9th, master branch)
Changed lines 81-88 from:

TODO

to:
Test IDDescriptionCPSAvg. CPULoad-1mAvg. IN/OUT TrafficProfilingNotes
15.1TM-Con-1-Read-01250066%58%42 MB/sPDFTest start: conn balancing
15.2TM-Con-1-Read-11250066%58%42 MB/sPDF
15.3TM-Con-1-Read-21000095%94%36 MB/sPDF
15.4TM-Con-N-Read-01200082%73%40 MB/sPDF
15.5TM-Con-N-Read-11000086%73%36 MB/sPDF
15.6TM-Con-N-Read-2625091%88%20 MB/sPDF
May 09, 2023, at 10:07 PM by liviu -
Changed line 36 from:
  • Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (4 cores, 8 threads)
to:
  • Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (4 cores, 8 threads, launch date: Q1'17)
May 09, 2023, at 10:06 PM by liviu -
Added line 30:
  • UDP was used as transport protocol for the majority of tests, unless stated otherwise
May 09, 2023, at 10:04 PM by liviu -
Changed lines 41-45 from:

The following table shows the raw CPS data used in each scenario.

to:

The following table shows the raw CPS data used in each scenario. Notes:

  • the Avg. CPU column represents the average CPU usage of the SIP worker processes, as shown by top
  • the Load-1m column represents the average OpenSIPS load over 1 minute of the SIP worker processes only, extracted from the load: statistic
May 09, 2023, at 09:59 PM by liviu -
Changed line 49 from:
1TM1300080%77%43 MB/sPDF
to:
1TM1300077%80%43 MB/sPDF
Changed line 54 from:
5.25 + TH(Call-ID)625088%91%20 MB/sPDF
to:
5.25 + TH(Call-ID)625091%88%20 MB/sPDF
May 09, 2023, at 09:57 PM by liviu -
Changed line 54 from:
5.25 + TH(Call-ID)625088%91%PDF
to:
5.25 + TH(Call-ID)625088%91%20 MB/sPDF
May 09, 2023, at 09:55 PM by liviu -
Changed line 54 from:
5.25 + TH9000  PDF
to:
5.25 + TH(Call-ID)625088%91%PDF
May 09, 2023, at 09:44 PM by liviu -
Changed line 49 from:
1TM1400080% 49 MB/sPDF
to:
1TM1300080%77%43 MB/sPDF
May 09, 2023, at 09:31 PM by liviu -
Changed line 50 from:
21 + RR1350080% 45 MB/sPDF
to:
21 + RR1250083%84%42 MB/sPDF
May 09, 2023, at 09:25 PM by liviu -
Changed line 51 from:
32 + DIALOG9000100%94%30 MB/sPDF
to:
32 + DIALOG1000095%94%36 MB/sPDF
Deleted lines 70-71:
Added lines 72-79:

TCP Test Scenarios

TODO

Conclusions

May 09, 2023, at 08:58 PM by liviu -
Changed line 51 from:
32 + DIALOG900080% 30 MB/sPDF
to:
32 + DIALOG9000100%94%30 MB/sPDF
May 09, 2023, at 08:33 PM by liviu -
Changed lines 10-11 from:

The objective of the stress tests was to re-assess the performance of various OpenSIPS subsystems, ahead of the upcoming 3.4 beta release. Apart from putting updated maximum capacity numbers on these modules, the tests also pinpointed performance bottlenecks in these systems, thanks to code profiling.

to:

The objective of the stress tests was to re-assess the performance of various OpenSIPS subsystems, ahead of the upcoming 3.4 beta release. Apart from putting updated maximum capacity numbers on these modules, the tests also pinpointed various performance bottlenecks in each scenario, thanks to code profiling.

Changed lines 52-53 from:
4DEF. Script1050080% 36 MB/sPDF
5.14 + DIALOG900080% 30 MB/sPDF
to:
4DEF. Script1050082%64%36 MB/sPDF
5.14 + DIALOG1000086%73%36 MB/sPDF
May 09, 2023, at 06:47 PM by liviu -
Changed line 60 from:
117 + CDR-files600058%67%26 MB/sPDFMySQL 70%+ CPU usage
to:
117 + CDR-flat600058%67%26 MB/sPDFMySQL 70%+ CPU usage
May 09, 2023, at 06:45 PM by liviu -
Changed lines 55-57 from:
66 + AUTH 1k6000 26 MB/s55%PDFMySQL 60%+ CPU usage
77 + AUTH 10k6000 26 MB/s55%PDFMySQL 70%+ CPU usage
88 + Auth-Caching6000 26 MB/s57%PDF
to:
65 + AUTH 1k600054%65%26 MB/sPDFMySQL 60%+ CPU usage
76 + AUTH 10k600059%65%26 MB/sPDFMySQL 65%+ CPU usage
87 + Auth-Caching600065%57%26 MB/sPDF
May 09, 2023, at 06:24 PM by liviu -
Changed line 59 from:
109 + Auth-Caching600058%71%26 MB/sPDF
to:
109 + Auth-Caching600058%71%26 MB/sPDFMySQL 70%+ CPU usage
May 09, 2023, at 06:23 PM by liviu -
Changed line 48 from:
Test IDDescriptionCPSAvg. CPULoad-1mAvg. IN/OUT TrafficProfiling
to:
Test IDDescriptionCPSAvg. CPULoad-1mAvg. IN/OUT TrafficProfilingNotes
Changed lines 55-56 from:
66 + AUTH 1k6000 26 MB/s55%PDF
77 + AUTH 10k6000 26 MB/s55%PDF
to:
66 + AUTH 1k6000 26 MB/s55%PDFMySQL 60%+ CPU usage
77 + AUTH 10k6000 26 MB/s55%PDFMySQL 70%+ CPU usage
Changed line 58 from:
97 + CDR600055%73%26 MB/sPDF
to:
97 + CDR600055%73%26 MB/sPDFMySQL 110%+ CPU usage
Changed line 60 from:
117 + CDR-files600058%67%26 MB/sPDF
to:
117 + CDR-files600058%67%26 MB/sPDFMySQL 70%+ CPU usage
May 09, 2023, at 06:21 PM by liviu -
Changed line 61 from:
1211 + Auth-Caching6000  PDF
to:
1211 + Auth-Caching600065%55%26 MB/sPDF
May 09, 2023, at 06:15 PM by liviu -
Changed line 60 from:
117 + CDR-files6000  PDF
to:
117 + CDR-files600058%67%26 MB/sPDF
May 09, 2023, at 06:05 PM by liviu -
Changed lines 58-59 from:
97 + CDR6000  PDF
109 + Auth-Caching600071% PDF
to:
97 + CDR600055%73%26 MB/sPDF
109 + Auth-Caching600058%71%26 MB/sPDF
May 09, 2023, at 05:44 PM by liviu -
Changed lines 29-30 from:
to:
  • average call duration: 30 seconds
Deleted lines 44-47:

The basic calling tests progressively add more signaling until the following call flow is achieved:

https://opensips.org/pub/images/stress-tests/opensips-st-call-flow.png

Deleted lines 46-49:

ACD: 30 seconds


Changed lines 48-61 from:
Test IDDescriptionCPSAvg. CPUAvg. IN/OUT TrafficProfiling
1TM1400080%49 MB/sPDF
21 + RR1350080%45 MB/sPDF
32 + DIALOG900080%30 MB/sPDF
4DEF. Script1050080%36 MB/sPDF
5.14 + DIALOG900080%30 MB/sPDF
5.25 + TH9000PDF
66 + AUTH 1k600026 MB/s55%PDF
77 + AUTH 10k600026 MB/s55%PDF
88 + Auth-Caching600026 MB/s57%PDF
97 + CDR6000PDF
109 + Auth-Caching6000PDF
117 + CDR-files6000PDF
1211 + Auth-Caching6000PDF
to:
Test IDDescriptionCPSAvg. CPULoad-1mAvg. IN/OUT TrafficProfiling
1TM1400080% 49 MB/sPDF
21 + RR1350080% 45 MB/sPDF
32 + DIALOG900080% 30 MB/sPDF
4DEF. Script1050080% 36 MB/sPDF
5.14 + DIALOG900080% 30 MB/sPDF
5.25 + TH9000  PDF
66 + AUTH 1k6000 26 MB/s55%PDF
77 + AUTH 10k6000 26 MB/s55%PDF
88 + Auth-Caching6000 26 MB/s57%PDF
97 + CDR6000  PDF
109 + Auth-Caching600071% PDF
117 + CDR-files6000  PDF
1211 + Auth-Caching6000  PDF
May 09, 2023, at 05:27 PM by liviu -
Added lines 43-52:

The basic calling tests progressively add more signaling until the following call flow is achieved:

https://opensips.org/pub/images/stress-tests/opensips-st-call-flow.png


ACD: 30 seconds

\\

May 09, 2023, at 05:14 PM by liviu -
Changed lines 45-50 from:
Test IDDescriptionCPSAvg. IN/OUT TrafficAvg. CPUProfiling
1TM1400049 MB/s80%PDF
21 + RR1350045 MB/s80%PDF
32 + DIALOG900030 MB/s80%PDF
4DEF. Script1050036 MB/s80%PDF
5.14 + DIALOG900030 MB/sPDF
to:
Test IDDescriptionCPSAvg. CPUAvg. IN/OUT TrafficProfiling
1TM1400080%49 MB/sPDF
21 + RR1350080%45 MB/sPDF
32 + DIALOG900080%30 MB/sPDF
4DEF. Script1050080%36 MB/sPDF
5.14 + DIALOG900080%30 MB/sPDF
May 09, 2023, at 05:03 PM by liviu -
Changed lines 52-54 from:
66 + AUTH 1k600020 MB/s55%PDF
77 + AUTH 10k600020 MB/s55%PDF
88 + Auth-Caching600020 MB/s57%PDF
to:
66 + AUTH 1k600026 MB/s55%PDF
77 + AUTH 10k600026 MB/s55%PDF
88 + Auth-Caching600026 MB/s57%PDF
May 09, 2023, at 05:00 PM by liviu -
Changed lines 50-59 from:
54 + DIALOG900030 MB/sPDF
65 + TH9000PDF
76 + AUTH 1k600020 MB/s55%PDF
87 + AUTH 10k600020 MB/s55%PDF
98 + Caching600020 MB/s57%PDF
109 + ACC6000PDF
1110 + CDR6000PDF
1211 + ACC + CDR6000PDF
1312 + ACC + CDR6000PDF
1413 + ACC + CDR6000PDF
to:
5.14 + DIALOG900030 MB/sPDF
5.25 + TH9000PDF
66 + AUTH 1k600020 MB/s55%PDF
77 + AUTH 10k600020 MB/s55%PDF
88 + Auth-Caching600020 MB/s57%PDF
97 + CDR6000PDF
109 + Auth-Caching6000PDF
117 + CDR-files6000PDF
1211 + Auth-Caching6000PDF
May 09, 2023, at 04:40 PM by liviu -
Changed lines 26-30 from:
  • all CPU-bound tests used 4 UDP workers, in order to minimize context-switching (since the OpenSIPS system was a quad-core -- 1:1 worker/CPU mapping)
  • for the I/O bound tests, 8 workers were typically used (enough to satisfy the required ~6k CPS)
  • in tests 1-6, the proxy was pushed to the maximum possible CPU load
  • since tests 7-14 are a mix between CPU-bound and I/O bound, we kept the traffic constant at 6000 CPS and instead monitored the CPU load penalty as we progressed through the tests
to:
  • the CPU-bound tests (1-6) used 4 UDP workers, in order to minimize context-switching (since the OpenSIPS system was a quad-core -- 1:1 worker/CPU mapping)
  • starting with test #7, the SIP workers were bumped to 8, to cope with the added I/O operations (8 workers were enough to satisfy the required ~6k CPS)
  • in tests 1-6, the proxy was pushed to the maximum possible CPU load, while on tests 7-14 the traffic was kept constant at 6000 CPS and we instead monitored the CPU load penalty as we progressed through the tests
Changed lines 52-54 from:
76 + AUTH 1k (8w)600020 MB/s52%PDF
87 + AUTH 10k (8w)600020 MB/s55%PDF
98 + Caching (4w)600020 MB/s28%PDF
to:
76 + AUTH 1k600020 MB/s55%PDF
87 + AUTH 10k600020 MB/s55%PDF
98 + Caching600020 MB/s57%PDF
May 09, 2023, at 03:57 PM by liviu -
Changed lines 53-54 from:
76 + AUTH 1k (8w)600020 MB/s51%PDF
87 + AUTH 10k (8w)600020 MB/s58%PDF
to:
76 + AUTH 1k (8w)600020 MB/s52%PDF
87 + AUTH 10k (8w)600020 MB/s55%PDF
May 09, 2023, at 02:38 PM by liviu -
Changed lines 43-44 from:

Simple Calling Scenarios

to:

Basic Calling Scenarios (transactions, dialogs)

Changed lines 53-61 from:
76 + AUTH 1k6000PDF
87 + AUTH 100k6000PDF
98 + Caching6000PDF
109 + ACC6000PDF
1110 + CDR6000PDF
1211 + ACC + CDR6000PDF
1312 + ACC + CDR6000PDF
1413 + ACC + CDR6000PDF
to:
76 + AUTH 1k (8w)600020 MB/s51%PDF
87 + AUTH 10k (8w)600020 MB/s58%PDF
98 + Caching (4w)600020 MB/s28%PDF
109 + ACC6000PDF
1110 + CDR6000PDF
1211 + ACC + CDR6000PDF
1312 + ACC + CDR6000PDF
1413 + ACC + CDR6000PDF
Added lines 69-70:
May 09, 2023, at 01:36 PM by liviu -
Changed lines 19-20 from:

Setup

to:

Setup Description

Added lines 25-30:
  • all tests used the F_MALLOC memory allocator (the default in all public builds). A performance comparison between F_MALLOC, Q_MALLOC and HP_MALLOC can be found in a separate set of tests below
  • all CPU-bound tests used 4 UDP workers, in order to minimize context-switching (since the OpenSIPS system was a quad-core -- 1:1 worker/CPU mapping)
  • for the I/O bound tests, 8 workers were typically used (enough to satisfy the required ~6k CPS)
  • in tests 1-6, the proxy was pushed to the maximum possible CPU load
  • since tests 7-14 are a mix between CPU-bound and I/O bound, we kept the traffic constant at 6000 CPS and instead monitored the CPU load penalty as we progressed through the tests
Deleted lines 42-45:
  • all tests used the F_MALLOC memory allocator (the default in all public builds). A performance comparison between F_MALLOC, Q_MALLOC and HP_MALLOC can be found in a separate set of tests below.
  • in tests 1-4, the proxy was pushed to the maximum possible CPU load
  • since tests 5-14 are a mix between CPU-bound and I/O bound, we kept the traffic constant at 6000 CPS and instead monitored the CPU load penalty as we progressed through the tests
Changed lines 50-51 from:
4DEF. Script1050036 MB/s80%PDF
54 + DIALOG9000PDF
to:
4DEF. Script1050036 MB/s80%PDF
54 + DIALOG900030 MB/sPDF
May 09, 2023, at 01:27 PM by liviu -
Changed lines 39-40 from:
  • since tests 5-14 are a mix between CPU-bound and I/O bound, we kept the traffic constant at 6000 CPS and observed the CPU load penalty
to:
  • since tests 5-14 are a mix between CPU-bound and I/O bound, we kept the traffic constant at 6000 CPS and instead monitored the CPU load penalty as we progressed through the tests
Changed lines 44-48 from:
Test IDDescriptionCPSAvg. IN/OUT TrafficAvg LoadProfiling
1TM1400049 MB/sPDF
21 + RR1350045 MB/sPDF
32 + DIALOG900030 MB/sPDF
4DEF. Script1050036 MB/sPDF
to:
Test IDDescriptionCPSAvg. IN/OUT TrafficAvg. CPUProfiling
1TM1400049 MB/s80%PDF
21 + RR1350045 MB/s80%PDF
32 + DIALOG900030 MB/s80%PDF
4DEF. Script1050036 MB/s80%PDF
May 09, 2023, at 01:25 PM by liviu -
Changed lines 45-48 from:
1TM140004 MB/sPDF
21 + RR12000PDF
32 + DIALOG9000PDF
4DEF. Script9000PDF
to:
1TM1400049 MB/sPDF
21 + RR1350045 MB/sPDF
32 + DIALOG900030 MB/sPDF
4DEF. Script1050036 MB/sPDF
May 09, 2023, at 01:19 PM by liviu -
Changed line 29 from:
  • Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
to:
  • Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (4 cores, 8 threads)
Deleted line 32:
Added lines 35-40:

The following table shows the raw CPS data used in each scenario.

  • all tests used the F_MALLOC memory allocator (the default in all public builds). A performance comparison between F_MALLOC, Q_MALLOC and HP_MALLOC can be found in a separate set of tests below.
  • in tests 1-4, the proxy was pushed to the maximum possible CPU load
  • since tests 5-14 are a mix between CPU-bound and I/O bound, we kept the traffic constant at 6000 CPS and observed the CPU load penalty
Changed lines 44-45 from:
Test IDDescriptionCPSAvg Load
1TM16500PDF
to:
Test IDDescriptionCPSAvg. IN/OUT TrafficAvg LoadProfiling
1TM140004 MB/sPDF
May 09, 2023, at 12:47 PM by liviu -
Changed lines 21-22 from:

TODO: proper picture

to:

https://opensips.org/pub/images/stress-tests/sipp-setup.png


For all SIP traffic generation purposes, sipp was the main tool which got the job done. Being a single-threaded application, both the sipp UAC and UAS were found to reach their capacity limitation at around 2500 - 3000 CPS. So we simply scale them horizontally, by launching more clients and servers!

Changed lines 29-31 from:
to:
  • Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
  • 16 GB DDR4 (Kingston)
  • SSD 850 EVO 250GB (Samsung)
May 08, 2023, at 12:25 PM by liviu -
Changed line 43 from:
109 + ACC6000PDF
to:
109 + ACC6000PDF
Changed lines 45-47 from:
1211 + ACC + CDR6000 PDF
1312 + ACC + CDR6000 PDF
1413 + ACC + CDR6000 PDF
to:
1211 + ACC + CDR6000PDF
1312 + ACC + CDR6000PDF
1413 + ACC + CDR6000PDF
May 08, 2023, at 12:24 PM by liviu -
Changed lines 30-31 from:


to:

Simple Calling Scenarios

Changed line 33 from:
Test IDDescriptionCPSAvg LoadScaled Avg loadPenalty percent
to:
Test IDDescriptionCPSAvg Load
Added lines 48-55:

Complex Calling Scenarios (B2B)

Test IDDescriptionCPSAvg Load
1B2B - TH1200PDF
2B2B - REFER1000PDF
3B2B - Marketing900PDF
May 08, 2023, at 12:22 PM by liviu -
Added lines 29-49:


Test IDDescriptionCPSAvg LoadScaled Avg loadPenalty percent
1TM16500PDF
21 + RR12000PDF
32 + DIALOG9000PDF
4DEF. Script9000PDF
54 + DIALOG9000PDF
65 + TH9000PDF
76 + AUTH 1k6000PDF
87 + AUTH 100k6000PDF
98 + Caching6000PDF
109 + ACC6000PDF
1110 + CDR6000PDF
1211 + ACC + CDR6000 PDF
1312 + ACC + CDR6000 PDF
1413 + ACC + CDR6000 PDF


May 08, 2023, at 11:03 AM by liviu -
Added lines 13-24:
  • the stress-tests were broken down into three categories: calling tests, B2B tests and TCP engine tests
  • within each category, we gradually increased the amount of features (code) ran through by each test
  • the upper limit of each test was determined by various metrics: either max CPU usage on the OpenSIPS box or UDP/TCP accumulating Recv-Queue
  • once the CPS limit was discovered -> perform profiling and analyze the resulting

Setup

TODO: proper picture

Hardware

May 08, 2023, at 09:54 AM by liviu -
Added lines 1-16:
About -> Performance Tests

(:toc-float Table of Content:)

A collection of performance tests and measurements performed on OpenSIPS 3.4, on various subsystems: database, transactions, dialogs, etc. These tests should give you a broad idea on what you could achieve on your own OpenSIPS setup using similar hardware!


Purpose

The objective of the stress tests was to re-assess the performance of various OpenSIPS subsystems, ahead of the upcoming 3.4 beta release. Apart from putting updated maximum capacity numbers on these modules, the tests also pinpointed performance bottlenecks in these systems, thanks to code profiling.

Overview

Raw Results


Page last modified on May 21, 2023, at 07:05 PM