Hi Abdul,

Thanks for the feedback. I just want to be sure you understand that the change I did does not speed up the loading process, but it simply decouples the startup sequence from the data loading process. Shortly OpenSIPS does not have to wait for the DB data to be loaded in order to start up.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Bootcamp 2018
  http://opensips.org/training/OpenSIPS_Bootcamp_2018/

On 10/02/2018 07:22 PM, Abdul Basit wrote:
Thanks a lot.
Earlier status
Opensips service was started in *(real 1m6.474s)*

# time opensipsctl fifo reload_blacklist
WARNING: database engine not found - tried 'MYSQL'

real   0m3.948s
user   0m0.039s
sys    0m0.013s

time systemctl stop opensips

real    0m1.424s
user   0m0.004s
sys    0m0.000s

*I pulled source from master.*

# time systemctl start opensips
Oct 2 15:57:41 srouter-215 systemd[1]: Starting OpenSIPS is a very fast and flexible SIP (RFC3261) server...
Oct 2 15:57:41 srouter-215 opensips[15906]: Listening on
Oct 2 15:57:41 srouter-215 opensips[15906]: udp: x.x.x.x [x.x.x.x]:9020
Oct 2 15:57:41 srouter-215 opensips[15906]: udp: x6:x6:x6:x6:x6:x6 [[x6:x6:0:0:x6:x6:x6:x6]]:9020
Oct 2 15:57:41 srouter-215 opensips[15906]: Aliases:
Oct 2 15:57:41 srouter-215 opensips[15906]: *: x.x.x.x:*

real   0m0.066s
user   0m0.003s
sys    0m0.002s
root@srouter-215:~# Oct 2 15:57:41 srouter-215 systemd[1]: Started OpenSIPS is a very fast and flexible SIP (RFC3261) server.

/var/log/opensips.log is here ... https://pastebin.com/8md6sBiP

# time opensipsctl fifo reload_blacklist
WARNING: database engine not found - tried 'MYSQL'
Oct 2 16:17:24 srouter-215 SIPSrv[16185]: INFO:userblacklist:reload_sources: got 1386901 entries from 'globalblacklist'

real   0m41.551s
user   0m0.037s
sys    0m0.015s

# time systemctl stop opensips
Oct 2 16:06:38 srouter-215 systemd[1]: Stopping OpenSIPS is a very fast and flexible SIP (RFC3261) server... Oct 2 16:06:50 srouter-215 systemd[1]: Stopped OpenSIPS is a very fast and flexible SIP (RFC3261) server.

real    0m12.134s
user   0m0.003s
sys    0m0.002s


Looks like issue has been fixed.. :)

--
regards,

abdul basit


On Tue, 2 Oct 2018 at 18:55, Bogdan-Andrei Iancu <bog...@opensips.org <mailto:bog...@opensips.org>> wrote:

    OK, I pushed on master a patch to move the initial data load after
    the startup sequence. The patch should apply to 2.4 also.

    
https://github.com/OpenSIPS/opensips/commit/32cba1d751ee5a5b705da97ac4333fcad3d67728

    While checking the module, I found some issues with it:

        * before my patch, the load (for same data) was independently
    done in each opensips process (even if the data is shared) :)

        * the "reload" is no error pron - if the new data load fails,
    the old existing data is lost

        * during the data reload the module has no data, so it cannot
    operate (it will actually block) - normally it should continue
    with the old data until the new data is fully loaded and validated.

    Let me know if the patch makes a different for you and I will
    backport it to 2.4 too.

    Regards,

    Bogdan-Andrei Iancu

    OpenSIPS Founder and Developer
       http://www.opensips-solutions.com
    OpenSIPS Bootcamp 2018
       http://opensips.org/training/OpenSIPS_Bootcamp_2018/

    On 10/02/2018 04:18 PM, Bogdan-Andrei Iancu wrote:
    Hi,

    Taking a closer look at the module (to be honest I do not user
    it, as drouting does a similar job) I see the module is loading
    the data into memory. It is doing this during the init stage,
    holding back the entire OpenSIPS startup.
    Module doing similar heavy db load were changed to do the load
    post-startup. Let patch the module to decouple the loading from
    the startup, so that OpenSIPS will start without delays.

    Regards,
    Bogdan-Andrei Iancu

    OpenSIPS Founder and Developer
       http://www.opensips-solutions.com
    OpenSIPS Bootcamp 2018
       http://opensips.org/training/OpenSIPS_Bootcamp_2018/
    On 10/02/2018 04:04 PM, Jon Abrams wrote:
    OpenSIPs is loading the global blacklist into a digit trie
    structure into shared memory on startup (or reload_blacklist
    command). That causes the startup delay.

    - Jon

    On Tue, Oct 2, 2018 at 7:55 AM Abdul Basit <basit.e...@gmail.com
    <mailto:basit.e...@gmail.com>> wrote:

        Hi Bogdan,

        I don't think so its translating to DB query on run time,
        instead its caching the blacklist.
        I am saying so because opensips response is quick, where as
        when I query manually from DB, it take some time even prefix
        col. is indexed.
        Moreover, while opensips restart i get following warnings in
        syslog:




_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to