[OpenSIPS-Users] Too many warnings in opensips log

Bogdan-Andrei Iancu bogdan at opensips.org
Thu Sep 1 16:00:39 CEST 2016


Hi Agalya,

Please see the attachpatch. Please applyit and recompile. If my 
suspicions are right, it should give you the same (or more) throughput 
as 1.11 without those warnings.

Please let me know.

Best regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 31.08.2016 17:45, Ramachandran, Agalya (Contractor) wrote:
>
> Hi Bogdan,
>
> Sure you can send it by tomorrow.
>
> Regards,
> Agalya
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* Tuesday, August 30, 2016 5:41 PM
> *To:* Ramachandran, Agalya (Contractor) 
> <Agalya_Ramachandran at comcast.com>; OpenSIPS users mailling list 
> <users at lists.opensips.org>
> *Subject:* Re: [OpenSIPS-Users] Too many warnings in opensips log
>
> Is it ok to send you a testing patch for tomorrow ?
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 30.08.2016 23:58, Ramachandran, Agalya (Contractor) wrote:
>
>     Yes. You are right.
>
>     *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>     *Sent:* Tuesday, August 30, 2016 4:45 PM
>     *To:* Ramachandran, Agalya (Contractor)
>     <Agalya_Ramachandran at comcast.com>
>     <mailto:Agalya_Ramachandran at comcast.com>; OpenSIPS users mailling
>     list <users at lists.opensips.org> <mailto:users at lists.opensips.org>
>     *Subject:* Re: [OpenSIPS-Users] Too many warnings in opensips log
>
>     OK, and if you stop the traffic, do the warnings go away ?
>
>     Regards,
>
>
>     Bogdan-Andrei Iancu
>
>     OpenSIPS Founder and Developer
>
>     http://www.opensips-solutions.com
>
>     On 30.08.2016 19:43, Ramachandran, Agalya (Contractor) wrote:
>
>         Hi Bogdan,
>
>         Yes, am doing rest queries using async.
>
>         Regards,
>         Agalya
>
>         *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>         *Sent:* Tuesday, August 30, 2016 12:17 PM
>         *To:* Ramachandran, Agalya (Contractor)
>         <Agalya_Ramachandran at comcast.com>
>         <mailto:Agalya_Ramachandran at comcast.com>; OpenSIPS users
>         mailling list <users at lists.opensips.org>
>         <mailto:users at lists.opensips.org>
>         *Subject:* Re: [OpenSIPS-Users] Too many warnings in opensips log
>
>         Hi Agalya,
>
>         Before answering, a fast question to you :).
>
>         What kind of processing do you in the script for the INVITEs ?
>         is it something time consuming, potential blocking like DB
>         queries, DNS, rest queries ?
>
>         Regards,
>
>
>
>
>         Bogdan-Andrei Iancu
>
>         OpenSIPS Founder and Developer
>
>         http://www.opensips-solutions.com
>
>         On 30.08.2016 18:42, Ramachandran, Agalya (Contractor) wrote:
>
>             Hi Bogdan,
>
>             In understand why these warnings are occurred.
>
>             Yes, I initially used the default script with children as
>             4. With this config sending 10 calls at 2cps am getting
>             these warnings continuously.
>
>             After that I changed the children to 12. And now it’s all
>             good.
>
>             But I have a question. When I try to run the load test in
>             opensips 1.11, I had children as 1, and I could run like
>             100 cps.
>
>             Why in the opensips 2.1.4 version we are getting this
>             warnings.  What has changed between 1.11 and 2.1.4?
>
>             The only way to avoid this is to keep increasing the children?
>
>             In the new opensips in order to run 100cps I should
>             increase my children to somewhere around 150?
>
>             Regards,
>             Agalya
>
>             *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>             *Sent:* Tuesday, August 30, 2016 6:20 AM
>             *To:* Ramachandran, Agalya (Contractor)
>             <Agalya_Ramachandran at comcast.com>
>             <mailto:Agalya_Ramachandran at comcast.com>; OpenSIPS users
>             mailling list <users at lists.opensips.org>
>             <mailto:users at lists.opensips.org>
>             *Subject:* Re: [OpenSIPS-Users] Too many warnings in
>             opensips log
>
>             Hi Agalya,
>
>             The message that usually pops up first :
>             WARNING:core:utimer task <tm-utimer> already scheduled for....
>
>             tells that the given timer routing is slow (tm-utimer in
>             our case) and the previous execution is not completed when
>             the next triggering happens. This TM routine is
>             responsible for SIP retransmissions.
>
>             The second message
>             WARNING:core:handle_timer_job: utimer job <tm-utimer> has
>             a xxxxx us delay in execution
>             tells how long the timer job spent between being scheduled
>             (triggered) and being lunched in execution (the 2 events
>             happen in different processes).
>
>             In your case, you have 4 processes, one UDP listener and
>             you do 2cps ? and you get one of the warnings ? do you use
>             the default script ?
>
>             Best regards,
>
>
>
>
>             Bogdan-Andrei Iancu
>
>             OpenSIPS Founder and Developer
>
>             http://www.opensips-solutions.com
>
>             On 26.08.2016 16:17, Ramachandran, Agalya (Contractor) wrote:
>
>                 Yes Bogdan , I do get those warnings.
>
>                 Regards,
>                 Agalya
>
>                 *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>                 *Sent:* Thursday, August 25, 2016 5:20 PM
>                 *To:* Ramachandran, Agalya (Contractor)
>                 <Agalya_Ramachandran at comcast.com>
>                 <mailto:Agalya_Ramachandran at comcast.com>; OpenSIPS
>                 users mailling list <users at lists.opensips.org>
>                 <mailto:users at lists.opensips.org>
>                 *Subject:* Re: [OpenSIPS-Users] Too many warnings in
>                 opensips log
>
>                 Hi Agalya,
>
>                 Before those warnings, have you got an warning like:
>                 WARNING:core:utimer_ticker: utimer task <tm-utimer>
>                 already scheduled for....
>
>                 Regards,
>
>
>
>
>
>
>                 Bogdan-Andrei Iancu
>
>                 OpenSIPS Founder and Developer
>
>                 http://www.opensips-solutions.com
>
>                 On 25.08.2016 18:08, Ramachandran, Agalya (Contractor)
>                 wrote:
>
>                     Hi Bogdan,
>
>                     *Does OpenSIPS recover from this ?*
>
>                     Answer: It depends upon the volume of the call. If
>                     am sending too many calls (may be more than 50
>                     calls), OpenSIPS is not recovering. And am restarting
>
>                     But if I send less than 10 calls then it is OK.
>
>                     *Have you seen other job reported, besides
>                     "tm-utimer" ?*
>
>                     Answer: I also have “blcore-expire” in logs, like
>                     once every 10 times of "tm-utimer"
>
>                     I also observed that increasing the children
>                     process in config file, is solving this issue.
>
>                     P.S:
>
>                     e.g : Sending 10 calls to opensips, at 2 calls per
>                     sec, then I need to keep children as 12.
>
>                          For even 10 calls, if I keep children as 4, 4
>                     to 6 calls are passing and other calls are failing.
>
>                     Why do we need to increase the children process?
>
>                     Just to confirm, is opensips 2.1.4 version  a
>                     stable release?
>
>                     Regards,
>                     Agalya
>
>                     *From:*Bogdan-Andrei Iancu
>                     [mailto:bogdan at opensips.org]
>                     *Sent:* Thursday, August 25, 2016 10:54 AM
>                     *To:* OpenSIPS users mailling list
>                     <users at lists.opensips.org>
>                     <mailto:users at lists.opensips.org>; Ramachandran,
>                     Agalya (Contractor)
>                     <Agalya_Ramachandran at comcast.com>
>                     <mailto:Agalya_Ramachandran at comcast.com>
>                     *Subject:* Re: [OpenSIPS-Users] Too many warnings
>                     in opensips log
>
>                     Hi Agalya,
>
>                     Question : after you get these logs, you mentioned
>                     the inability of handling new calls. Does OpenSIPS
>                     recover from this ? or you have to restart after
>                     such an event ?
>
>                     Have you seen other job reported, besides
>                     "tm-utimer" ?
>
>                     Regards,
>
>
>
>
>
>
>                     Bogdan-Andrei Iancu
>
>                     OpenSIPS Founder and Developer
>
>                     http://www.opensips-solutions.com
>
>                     On 24.08.2016 18:31, Ramachandran, Agalya
>                     (Contractor) wrote:
>
>                         Hi team,
>
>                         Am using opensips 2.1.4 version and trying to
>                         do load test. When running the test cases, am
>                         getting too many warnings in OpenSIPS log.
>
>                         These warnings are coming continuously and its
>                         more than 2 page in log file.
>
>                         Below are the warnings.
>
>                         Aug 24 15:27:34 sturn-test
>                         /usr/local/sbin/opensips[12015]:
>                         WARNING:core:handle_timer_job: utimer job
>                         <tm-utimer> has a 39450000 us delay in execution
>
>                         Aug 24 15:27:34 sturn-test
>                         /usr/local/sbin/opensips[12015]:
>                         WARNING:core:handle_timer_job: utimer job
>                         <tm-utimer> has a 39450000 us delay in execution
>
>                         Aug 24 15:27:34 sturn-test
>                         /usr/local/sbin/opensips[12015]:
>                         WARNING:core:handle_timer_job: utimer job
>                         <tm-utimer> has a 39450000 us delay in execution
>
>                         Aug 24 15:27:34 sturn-test
>                         /usr/local/sbin/opensips[12015]:
>                         WARNING:core:handle_timer_job: utimer job
>                         <tm-utimer> has a 39450000 us delay in execution
>
>                         Aug 24 15:27:34 sturn-test
>                         /usr/local/sbin/opensips[12015]:
>                         WARNING:core:handle_timer_job: utimer job
>                         <tm-utimer> has a 39450000 us delay in execution
>
>                         Aug 24 15:27:34 sturn-test
>                         /usr/local/sbin/opensips[12015]:
>                         WARNING:core:handle_timer_job: utimer job
>                         <tm-utimer> has a 39450000 us delay in execution
>
>                         When I get this Warning, calls are getting failed.
>
>                         Why am getting this warning and what could be
>                         done to avoid it?
>
>                         Regards,
>                         Agalya
>
>
>
>
>
>
>
>
>
>                         _______________________________________________
>
>                         Users mailing list
>
>                         Users at lists.opensips.org
>                         <mailto:Users at lists.opensips.org>
>
>                         http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160901/c6888a7d/attachment-0001.htm>
-------------- next part --------------
diff --git a/main.c b/main.c
index 471dafc..6154bec 100644
--- a/main.c
+++ b/main.c
@@ -674,6 +674,11 @@ static int main_loop(void)
 			goto error;
 		}
 
+		/* fork for the extra timer processes */
+		if (start_timer_extra_processes( &chd_rank )!=0) {
+			LM_CRIT("cannot start timer extra process(es)\n");
+			goto error;
+		}
 		is_main=1;
 
 		udp_start_nofork();
@@ -738,6 +743,12 @@ static int main_loop(void)
 			LM_CRIT("cannot start TCP processes\n");
 			goto error;
 		}
+
+		/* fork for the extra timer processes */
+		if (start_timer_extra_processes( &chd_rank )!=0) {
+			LM_CRIT("cannot start timer extra process(es)\n");
+			goto error;
+		}
 	}
 
 	/* this is the main process -> it shouldn't send anything */
diff --git a/pt.c b/pt.c
index 822181a..45063d7 100644
--- a/pt.c
+++ b/pt.c
@@ -67,7 +67,7 @@ int init_multi_proc_support(void)
 	proc_no += bin ? bin_children : 0;
 
 	/* timer processes */
-	proc_no += 2 /* timer keeper + timer trigger */;
+	proc_no += 3 /* timer keeper + timer trigger + dedicated */;
 
 	/* count the processes requested by modules */
 	proc_no += count_module_procs();
@@ -191,6 +191,9 @@ int count_init_children(int flags)
 
 skip_listeners:
 
+	/* dedicated timer */
+	ret++;
+
 	/* count number of module procs going to be initialised */
 	for (m=modules;m;m=m->next) {
 		if (m->exports->procs==NULL)
diff --git a/timer.c b/timer.c
index 91061e1..e330cb4 100644
--- a/timer.c
+++ b/timer.c
@@ -536,6 +536,37 @@ error:
 }
 
 
+int start_timer_extra_processes(int *chd_rank)
+{
+	pid_t pid;
+
+	(*chd_rank)++;
+	if ( (pid=internal_fork( "Timer handler"))<0 ) {
+		LM_CRIT("cannot fork Timer handler process\n");
+		goto error;
+	} else if (pid==0) {
+		/* new Timer process */
+		/* set a more detailed description */
+			set_proc_attrs("Timer handler");
+			if (init_child(*chd_rank) < 0) {
+				report_failure_status();
+				exit(-1);
+			}
+
+			report_conditional_status( 1, 0);
+
+			while(1) { handle_timer_job(); }
+
+			exit(-1);
+	}
+	/*parent*/
+	return 0;
+
+error:
+	return -1;
+}
+
+
 void handle_timer_job(void)
 {
 	struct os_timer *t;
diff --git a/timer.h b/timer.h
index 2195f33..ce841a7 100644
--- a/timer.h
+++ b/timer.h
@@ -97,6 +97,8 @@ utime_t get_uticks(void);
 
 int start_timer_processes(void);
 
+int start_timer_extra_processes(int *chd_rank);
+
 int register_route_timers(void);
 
 void handle_timer_job(void);


More information about the Users mailing list