As I can see, you get better and better with openser, maybe you can get
some training so you will be able to configure and tune it properly to
fit your needs and get the appropriate results (googling will reveal
some doing trainings for openser). So which are right, these ones, the
previous ones or the next testing results? You tested something, which
(I suppose) you are very familiar with (ser), against something that you
do not know properly to configure. There are some internals that differ
a lot and may have quite a lot of performance impact.
Just after you sent this mail, I have seen a commit to usrloc which
saves some problems I pointed in my previous email in this thread (so,
yes, we are concerned about performance, and see you need to catch up
now in some directions). The difference is now that ser's usrloc hash
table size is by default 2^14 (16384) while in openser is 2^9 (512). So
I guess some tests you can do now will be faster for ser, but to change
the hash value in ser you have to re-compile, as opposite to openser
where you can do it via module parameter.
So please, try to make sure that the corresponding parameters have same
values, from number of processes, to memory, hash tables sizes, and so
on ... for future tests. If you are not able to do fair tests, it is
better to leave it for some impartial entities. With the description of
your tests a lot of parameters and variables are hidden, and do not
reflect the real capacity of the applications (I can say it now at least
for openser).
And just to remember, as proved, you got very good performances but
wrong processing. I will ask you and users: do you prefer to have *high
performances* tied to *invalid processing* of the requests?
Well, maybe for some folks it is a 'proud' to say: *ser offers very fast
_invalid_ functionalities* or "ser can scale to millions of _offline_
users*.
You owe to say to the users that the performances were obtained with a
*buggy SIP transaction processing*, and correct the web pages posted at
the link below.
Actually I replied to this mail because of some accuses that 'we spread
the rumor "ser is dead"'. Nowhere you can find such statement from our
side. After some investigations proved that the phrase in charge is:
"Soon after, /iptelorg.com Gmbh/ was sold to /Tekelec/, which had no
intention to continue the development of the public project."
from oepnser history
(
)p;Itemid=61).
This is quite different than "ser is dead", and many of you know the
statement made in "openser history" is true. I cannot name some private
channels I have, but there are publicly spoken ones. I paste from
:
<snip>
Christian says that he was surprised at the continued development of
SER after speaking with people from Tekelec, as they mentioned that
they were not as interested in continuing SER as an open source
project and were more interested in integrating SER into their IMS
offerings. He asks about the future of SER as an open source
project. Jiri feels that there should be no issues, and the main
contributors are still making contributions. He's hesitant to speak on
the behalf of the company, but feels that based on past performance
nothing should be changing.
</snip>
I would polite ask those persons not to twist the phrases without giving
good proof.
Users can see now who and how tries to hoke up the reality.
Cheers,
Daniel
On 11/24/06 17:06, Vaclav Kubart wrote:
I'm sorry to nip in, but I tried to rerun the
tests again and add more
info into output as requested and add stable ser and CVS openser.
I know that this test doesn't conform much to real life (for example
generated callid/branch/tags differs only in a number, etc) but it can
give at least an image about simple stateful forward.
So, if anybody is interested:
http://www.iptel.org/~vku/performance/tm.serXopenser.correct/
I tried the same once more with less iterations because there were some
errors in log from openser speaking about low memory (I used -m to
specify shared mem size but with 768M it still said errors, might be a
memleak or did I anything wrong?). With 1M iterations it was without
errors:
http://www.iptel.org/~vku/performance/tm.serXopenser.1M/
Vaclav
P.S. I have forgotten - SIPP was "Sipp v1.1, version 20060829, built Sep
5 2006, 15:07:25", I'm attaching simple patch which I have used.
On Wed, Nov 22, 2006 at 12:48:12AM +0200, Daniel-Constantin Mierla wrote:
> I love such "independent" and "very very useful" tests ... one
selected
> the versions he liked, latest development of ser with latest stable
> version of openser, the details about testing scenarios are pretty
> limited. However these details are very very insignificant, really.
>
> What matters is this particular case: what you tested is useless and
> someone can better implement a tiny kernel module to perform same job
> much faster that will make openser/ser trashed instantly if that is
> their only usage. More important are the performances in real world
> cases. I am not going to do comparison tests and reveal numbers, I will
> let you do and hope make the results available.
>
> I will exemplify with just two common use cases:
> A) ITSP where usrloc is required - to get the throughput from your tests
> one needs to have over million of online users. Let me know how SER is
> doing with loading them, I can bet that it takes several minutes to
> start (so service down for a significat time) and lot to lookup a record
> afterwards, do not forget to mention required memory. Then we will see
> if the forwarding throughput is the bottleneck.
> B) carrier - heavy accounting needed - take the latest cvs snapshots and
> test it, look at flexibility in same time and see if the balance of
> throughput and features is satisfactory. Do not forget that behind
> database should be redundant for a reliable accounting storage.
>
> My conclusion and the point I wanted to underline is that forwarding is
> not the bottleneck by far and so far in real-world deployments -- or at
> least nobody reported in openser mailing lists. Once it will be, for
> sure there will be effort and focus to optimize it. I don't even bother
> to check the scenarios, environment and test results you had, because
> makes no sense today.
>
> It is more important to look at the results gave, for example, here by
> an independent party:
>
http://openser.org/pipermail/users/2006-November/007777.html
>
> With a real config and clustering system the performance of a box was
> 300calls per second -- having at least 5 database accesses!!!. If you
> need double you can add one more hardware, without extra configuration
> overhead, just plug and play. And that is stable version of OpenSER
> since July this year (btw, for those who keep saying that OpenSER does
> not focus on stability, just check the CVS and see the number of bugs
> encountered with this release, maybe you can change your opinion), and
> you can have a safe environment distributed geographically where each
> hardware can undertake the traffic from the others on the fly. With
> single box crashing because of different independent reasons (hardware
> failure, power outages ...) you get no service ... with three boxes you
> can serve huge number of active subscribers in peak hours and have
> failover support, so service availability 100%. I am sure most of the
> people look now how to build reliable platforms that scale very easy and
> can be distributed around the world, with a bunch of useful features --
> simple first line replacement is not the business case for VoIP anymore.
>
> We didn't try at OpenSER to get a airplane when we have to drive city
> streets, we looked to get feature rich and reliable application for its
> use cases. I would propose to have focus on making own applications
> better than trying to show the other one is worse.
>
> Cheers,
> Daniel
>
> PS. You can use stateless forwarding to get even better results, the
> usefulness will be the same.
>
> On 11/21/06 12:30, Jiri Kuthan wrote:
>
>> Regarding the technical discussion, here are some hard numbers which show
>> how SER stack outperforms derivative work. Forwarding throughput is clearly
>> several times better under stress and consequently, variation of response
>> delay is rather stable.
>>
>>
>>
>>>
http://www.iptel.org/~vku/performance/tm.serXopenser.pulpuk/
>>>
>>>
>> -jiri
>>
>>
>> At 21:16 09/11/2006, Rao Ramaratnamma wrote:
>>
>>
>>> Hi Weiter,
>>>
>>> Yeah, I have been trying to limit myself to technical observations too,
>>> but the governance aspect is somewhat interesting too as a hint for
>>> future development, even though I guess even this is much more confusing
>>> than the technical ones. I have investigated, both projects have their
>>> firms with them that pursue their commercial interests which creates a
>>> risk of possibly departing from the public interest, like with redhat.
>>>
>> >From this angle they look quite similar. But if any worries me just a
>>
>>> little bit more than openser. Appearance at commercial shows on the
>>> "open" side versus technical event on the "net" side if I
take your BSD
>>> parallel, marketing "open" webpage accusing "net" version
bad, hiding
>>> root commerical sponsors on the "open" webpage, this could be signs
for a
>>> redhat-like doubleedged sword. Hopefully I am oversensing because I mean
>>> it is natural that everybody has SOME interest, but indisputably folks on
>>> both sides have done good work, but same indisputably more TRANSPARENCY
>>> would be helpful for both projects so that users can be less
>>> investigative.
>>>
>>> But I agree the technical comparison you suggest will be very useful if
>>> not most useful. This is what I am eventually upto. Anything folks have
>>> to tell in this topic is most welcome like the retransmission timers in
>>> subject or user loading.
>>>
>>> rr
>>>
>>> disconcerted by the fact that the more I know the more I am confused and
>>> determined to get over the learning curve quickly. also excuse the abuse
>>> I crossposted again but I think cross interrogation is a bit painful but
>>> the more effective :-)
>>>
>>> ----- Original Message ----
>>> From: Weiter Leiter <bp4mls(a)googlemail.com>
>>> To: Kim Il <kim_il_s(a)yahoo.com>
>>> Cc: users(a)openser.org
>>> Sent: Thursday, November 9, 2006 1:42:29 PM
>>> Subject: Re: Fw: [Users] TM : retransmission timers
>>>
>>> Common user barely has time to meet his boss requirements, rather than
>>> playing around with different scenarios, platforms, environments.
>>> I only read one email where Daniel stated that OpenSER now performs a
>>> whole much better while loading users from database. SER guys put no
>>> figure out yet, neither bare numbers nor comparisons. I'm just really
>>> curious to see how both servers perform, that's all.
>>> Even though I must maintain my SER, I kinda like OpenSER's faster
>>> releases and developers' responsiveness (that I shamelessly exploit for
>>> the common code left there :-), which is pretty much nonexistent with
>>> iptel (at least this is the general belief here at OpenSER). But about
>>> this I'll probably have to fight on SER's mailing list. I still wish
that
>>> one day I won't have to compare features; heck, NetSER and FreeSER are
>>> still available ;-).
>>> WL.
>>>
>>> PS. Maybe regretfully, I haven't seen any iptel booth at von this year,
>>> while OpenSER guys put up a nice show. My congrats.
>>>
>>> On 11/9/06, Kim Il
<<mailto:kim_il_s@yahoo.com>kim_il_s@yahoo.com> wrote:
>>> I can see what you are hinting at, but I guess that the users are the
>>> unbiased party that should do the judgment and not the parties who have
>>> something to gain.
>>> cheers
>>>
>>> Weiter Leiter
<<mailto:bp4mls@googlemail.com>bp4mls@googlemail.com>
>>> wrote: This features comparisons are not to last for too long, some
>>> performance comparisons would also be nice. After all, there are plenty
>>> of UA-level stacks out there. At least now that both projects get to have
>>> stable releases after forking and some core functionality remained
>>> shared. I wonder what "unbiased" organization will take up the
challenge.
>>> :-)
>>> On 11/8/06, Kim Il <<mailto:kim_il_s@yahoo.com> kim_il_s(a)yahoo.com
>
>>> wrote: Mike,
>>> this is a really good start and we should collect these things so as to
>>> help the community to take the right choice. I would also suggest that
>>> what ever ground breaking issues we list we stay at the functional level
>>> (I do not think anyone is helped by using a description containing
>>> "allowing carrier grade platforms" and similar marketing phrases).
cheers
>>>
>>>
>>> {truncated because too large}
>>>
>>>
>>>
>>>
>>> Sponsored Link
>>> Talk more and pay less. Vonage can save you up to $300 a year on your
>>> phone bill.
>>> <http://clk.atdmt.com/VON/go/yhxxxvon1080000017von/direct/01/>Sign up
>>> now.
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users(a)openser.org
>>>
<http://openser.org/cgi-bin/mailman/listinfo/users>http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> Serusers(a)lists.iptel.org
>>>
http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
>> --
>> Jiri Kuthan
http://iptel.org/~jiri/
>>
>> _______________________________________________
>> Serusers mailing list
>> Serusers(a)lists.iptel.org
>>
http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>>
> _______________________________________________
> Serusers mailing list
> Serusers(a)lists.iptel.org
>
http://lists.iptel.org/mailman/listinfo/serusers
>
> ------------------------------------------------------------------------
>
> Index: call.cpp
> ===================================================================
> --- call.cpp (revision 32)
> +++ call.cpp (working copy)
> @@ -1812,6 +1812,8 @@
> dest += sprintf(dest, "%s", (media_ip_is_ipv6 ? "6" :
"4"));
> } else if(!strcmp(keyword, "call_number")) {
> dest += sprintf(dest, "%lu", number);
> + } else if(!strcmp(keyword, "call_number_6")) {
> + dest += sprintf(dest, "%06lu", number);
> } else if(!strcmp(keyword, "call_id")) {
> dest += sprintf(dest, "%s", id);
> } else if(!strcmp(keyword, "cseq")) {
> @@ -2246,6 +2248,19 @@
> return;
> }
>
> + /* quick hack for UAS and loose router - needed to use routes
> + * in the same order as Record-Routes */
> + if (bRequestIncoming) {
> + dialog_route_set = (char *)calloc(1, strlen(rr) + 2);
> + sprintf(dialog_route_set, "%s", rr);
> +
> + if (strlen (contact)) {
> + strcpy (next_req_url, contact);
> + formatNextReqUrl (next_req_url);
> + }
> + return;
> + }
> +
> char actual_rr[MAX_HEADER_LEN];
> char targetURI[MAX_HEADER_LEN];
> memset(actual_rr, 0, sizeof(actual_rr));
>