Hi everyone, I am using the LCR module with almost 45000 rows in the LCR table. My server processes a huge call volumes. I thought everything was working fine but I started getting complains of very low connects. Then I observed that Openser was taking time to process calls and when I just unloaded the LCR module from the script, everything worked fine and openser could process all calls properly.
I had made the following changes in the config.h and lcr_mod.c file:
Shared memory = 256 PKG_Memory = 4*1024*1024
MAX_NO_LCRS=50000
I really need the functionality of LCR in my script for cost efficiency purposes. The server also has 4GB of memory but something in Openser seems to be wrong !!! I also upgraded from OSer 1.1.1 to 1.2 but still same problem :( Can someone please help me out with this?
Thanks,
w/regards, Jayesh
Send a FREE SMS to your friend's mobile from Yahoo! Messenger. Get it now at http://in.messenger.yahoo.com/
Jayesh Nambiar writes:
I had made the following changes in the config.h and lcr_mod.c file:
Shared memory = 256 PKG_Memory = 4*1024*1024
MAX_NO_LCRS=50000
I really need the functionality of LCR in my script for cost efficiency purposes. The server also has 4GB of memory but something in Openser seems to be wrong !!!
jayesh,
load_gws() function is not trivial. it needs to goes linearly through all entries in lcr table (that involves a regexec function call for each entry) and then for each matching entry, it needs to go linearly through all gws. after finding a list of matching gws, it sorts and randomizes them, removes duplicates, and does stripping.
all this eats cpu resources. i have many times mentioned on this list that lcr module with its current functionality has not been intended to huge numbers of lcr/gateway entries.
nevertheless you are welcome to read the code and suggest optimizations it there are some to be found.
-- juha