What is the Maximum Contact Entries

Status
Not open for further replies.

PatrickS

Customer
Joined
Sep 25, 2017
Messages
54
Reaction score
11
3CX has contacts, either builtin (3CX) or integrated (CRM), I'm wondering how huge can this contact database grow? say 1 million contacts?

As each inbound call will invoke a search to display the contact's name. Search through 1 million records *might* take a very long time.
 
I can't recall anyone "hitting" a limit before, but, if your processing power were at the bottom end , then perhaps, there may be an issue. You can try, and let us know how it goes.
 
Hi @leejor,

Thank you for your hint. I'll try to do a test and see how the server behaves.


here is the plan: (if anyone has any suggestions, please reply below before I proceed)

1. pump in 1 million fake records with sequential numbers using csv. In the sequence, there are a few real phone numbers (it might have problems of importing such a huge amount of data)

2. make a phone call using one real number in the sequence.

Setup: 1 mobile number (outside 3CX), 1 handset ( yealink SIP phone) number associated with 3CX.

Action: Mobile calls handset. Mobile and handset are physically near but topologically far.

Measurement: duration from initiating the call 'press call button' to ' incoming call display on the handset.

How to measure: videotaping both mobile and handset and then using video editing software to calculate the time lapse.

Two measurements will be done, before 1 million records, after 1 million records.

I'll be collecting feedback for a couple of days.
 
What I can also add is that if you are using IP end-points they have a limit for phonebook/contact entries and it is purely due to it being a hardware restriction.

I believe the figure was around 1000 contacts per device.
 
Hello @PatrickS

Please note that theoretically there is no limit to the amount of contacts you can import however that depends on the machines hardware specs. the more contacts you have the more time the lookup will take.
What has a limit is the size of the csv file you can import. That is now limited to 1000 rows per file so it will take some work to import 1 million records.
 
This is a report on findings of the above-mentioned test:

Setup:

experiment-setup.png

Conclusion (short version) :
  1. There is a limit for importing 3CX contacts: approximately 300,000
  2. Caller ID performance is always good, as huge phonebook has little impact.
  3. 3CX's memory usage increases with the number of contacts. (To support more contacts, please get plenty of memory)
  4. CPU cost is not high, a 4Core is good enough, as it seldom goes beyond 40% workload.
  5. 3CX Web interface of listing Contacts tries to download all contacts at once, it's problematic with a huge number.
  6. Searching through a huge number of contacts have inaccurate results.

Video illustration:
  1. we produced 1000 files, each contains 1000 contacts
  2. We import it one by one sequentially, we call each import 'batch#1, batch#2, batch#3,....."
  3. We monitor the time cost of each import.
  4. It increases as the number of contacts increase.
  5. System memory usage keeps growing ( not reaching limit )
  6. CPU is not at full-load (not reaching limit)
  7. when it cost around 60 seconds, Nginx (the 3CX web interface, produces 504 error, gateway timeout)
Detailed Report: Longer version of the report with screenshots available at (here)
 
Wow...not sure how many users will have a million contacts, but nice to know.
 
We never tested to that amount of contacts so this is an interesting test. Thank you for sharing your findings.
 
Status
Not open for further replies.

Forum statistics

Threads
111,893
Messages
589,594
Members
164,759
Latest member
mschzias