Match Server Tunning

General information about Neurotechnology and its software

Match Server Tunning

Postby dwmolina » Jul 21, 2017 23:07

Hi,

We have started the enrollment process with success at our company, but we are having troubles with the time the Match Server is taking to identify a person's fingerprint. It takes about 5 to 8 seconds to identify it.

We only have enrolled 355 people with their 10 fingers at the template table in our database through the Match Server. I have read the Match Server do its work in memory, but I think it is taking too much time to identify a person.
We have try the identification process at the company LAN to discard network latency but it takes too much time yet.

Is there a way to optimize the Match Server identification process?

Our environment:
SDK 9 at the Match Server
Windows 2008 at the Match Server
Sybase 12.5 at the storage engine.

The database server is in a different host than the Match Server.

Thanks in advance.
dwmolina
 
Posts: 4
Joined: Jul 19, 2017 23:27
Location: San Salvador, El Salvador

Re: Match Server Tunning

Postby MartynasV » Jul 25, 2017 10:39

dwmolina wrote:Hi,

We have started the enrollment process with success at our company, but we are having troubles with the time the Match Server is taking to identify a person's fingerprint. It takes about 5 to 8 seconds to identify it.

We only have enrolled 355 people with their 10 fingers at the template table in our database through the Match Server. I have read the Match Server do its work in memory, but I think it is taking too much time to identify a person.
We have try the identification process at the company LAN to discard network latency but it takes too much time yet.

Is there a way to optimize the Match Server identification process?

Our environment:
SDK 9 at the Match Server
Windows 2008 at the Match Server
Sybase 12.5 at the storage engine.

The database server is in a different host than the Match Server.

Thanks in advance.

Hello dwmolina,

Please provide SDK revision number(can be found in SDK root directory, in Revision.txt file).
When matching task is performing is computer working at full capacity(processor)?
How many fingerprint do you send for identification? One or ten?
Are fingerprint positions set to correct ones(e.g. right index, left thumb)?
Is NServer performing only one task when you calculating time?

NServer loads all templates to memory and only matches in memory.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 248
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Match Server Tunning

Postby dwmolina » Jul 25, 2017 21:02

MartynasV wrote:
dwmolina wrote:Hi,

We have started the enrollment process with success at our company, but we are having troubles with the time the Match Server is taking to identify a person's fingerprint. It takes about 5 to 8 seconds to identify it.

We only have enrolled 355 people with their 10 fingers at the template table in our database through the Match Server. I have read the Match Server do its work in memory, but I think it is taking too much time to identify a person.
We have try the identification process at the company LAN to discard network latency but it takes too much time yet.

Is there a way to optimize the Match Server identification process?

Our environment:
SDK 9 at the Match Server
Windows 2008 at the Match Server
Sybase 12.5 at the storage engine.

The database server is in a different host than the Match Server.

Thanks in advance.

Hello dwmolina,

Please provide SDK revision number(can be found in SDK root directory, in Revision.txt file).
When matching task is performing is computer working at full capacity(processor)?
How many fingerprint do you send for identification? One or ten?
Are fingerprint positions set to correct ones(e.g. right index, left thumb)?
Is NServer performing only one task when you calculating time?

NServer loads all templates to memory and only matches in memory.



Please provide SDK revision number(can be found in SDK root directory, in Revision.txt file). Product revision number: 164281
When matching task is performing is computer working at full capacity(processor)? Yes, it is. We have more than 3.5GB of free memory at the physical server where the Match Service is installed. The CPU average usage is 3%.
How many fingerprint do you send for identification? One or ten? We send one fingerprint for identification.
Are fingerprint positions set to correct ones(e.g. right index, left thumb)? Yes, they are. But, is there a kind of impact in performance if they are not set that way? Explain please.
Is NServer performing only one task when you calculating time? I think so. We extract the template at client side and send it to the NServer. We log when the extract operation ends and log the identify operation too.


Thanks, we really appreciate your help.
dwmolina
 
Posts: 4
Joined: Jul 19, 2017 23:27
Location: San Salvador, El Salvador

Re: Match Server Tunning

Postby MartynasV » Jul 27, 2017 10:40

dwmolina wrote:
Please provide SDK revision number(can be found in SDK root directory, in Revision.txt file). Product revision number: 164281
When matching task is performing is computer working at full capacity(processor)? Yes, it is. We have more than 3.5GB of free memory at the physical server where the Match Service is installed. The CPU average usage is 3%.
How many fingerprint do you send for identification? One or ten? We send one fingerprint for identification.
Are fingerprint positions set to correct ones(e.g. right index, left thumb)? Yes, they are. But, is there a kind of impact in performance if they are not set that way? Explain please.
Is NServer performing only one task when you calculating time? I think so. We extract the template at client side and send it to the NServer. We log when the extract operation ends and log the identify operation too.


Thanks, we really appreciate your help.

Hello dwmolina,

Are fingerprint positions set to correct ones(e.g. right index, left thumb)? Yes, they are. But, is there a kind of impact in performance if they are not set that way? Explain please.

In your case, none. Fingerprints with positions set match only with the same position fingerprints and "Unknown" positions fingerprints(e.g. right thumb will match with right thumb and "Unknown" positions only). So, if you would send fingerprints with position set for identification task, those fingerprints won't be matched against all fingerprints in database, thus matching task will take less time.

Send NServer full log for review.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 248
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Match Server Tunning

Postby mohamadhatami » Jul 30, 2017 08:00

hi

i extract template in client and send them to server for enrollment.

for identify:
when server run
at first read all template and add to biometric client and then perfom task->enroll
then call identify for identify request
--------------------------------------------------------------------------------------
Problem:
i have 2 problem:

1)when call performtask(enroll) it take 2*(size of template gallery) in RAM) in make gallery moment
how solve it?

2)i use some DB in memory or cache server like redis
templates are in memory by them
but i must enroll that template to neuro befor identify
its take 2*(size of template gallery)

worst:its take 3*(size of template galley) in enroll moment!

do u have solution for working with in memory DB or Cache server directly?
please explain


tank u
mohamadhatami
 
Posts: 5
Joined: Jul 25, 2017 05:50

Re: Match Server Tunning

Postby MartynasV » Jul 31, 2017 11:53

mohamadhatami wrote:hi

i extract template in client and send them to server for enrollment.

for identify:
when server run
at first read all template and add to biometric client and then perfom task->enroll
then call identify for identify request
--------------------------------------------------------------------------------------
Problem:
i have 2 problem:
tank u


1)when call performtask(enroll) it take 2*(size of template gallery) in RAM) in make gallery moment
how solve it?

Make sure that you dispose all disposable objects after you don't need them anymore.

2)i use some DB in memory or cache server like redis
templates are in memory by them
but i must enroll that template to neuro befor identify
its take 2*(size of template gallery)

First you load templates to memory in your application(1st copy of templates), then you enroll those templates to NServer(2nd copy of templates), after that you have to dispose of those objects(NBiometricTask) in your application(1st copy of templates should be cleared from memory).

You don't need to manage memory in NServer and there is no way of doing that.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 248
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania


Return to Public

Who is online

Users browsing this forum: No registered users and 5 guests