VoiceGuide IVR Software Main Page
Jump to content

Processes are slower on system running on virtualised server

Recommended Posts

OK,

 

Thanks for confirmation. We are getting a new sound card and will try to see if that resolves it. I will keep you posted as well.

 

In the mean time, would you be able to look at the following issue? I am adding this to this ticket because I am not certain at this point this issue is also caused by the fact that SAPI is not enabled.

If you see the log under "VGScript_SlowProcess.zip" folder, the processes are slower than those from the log under "VGScript_NormalSpeedProcess.zip"

The slow one is recorded on the server that has the TTS problem, and the other is from another server that works correctly.

The process is recorded from the beginning: checking the task type, check login, then generate main menu for that user.

 

I know it is not a good way to compare because the environments are different, but it is unusually slow on the server with the TTS problem.

I could not tell if this was slow connection to the SQL database or something else. One thing I can mention is that there is NO module that uses TTS in this speed test.

 

If you could provide a better opinion, that will be great. Please let me know if I need to create another ticket for this.

 

Thank you.

VGScript_SlowProcess.zip

VGScript_NormalSpeedProcess.zip

Share this post


Link to post

The system from which the "NormalSpeed" traces were taken is a normal non-virtualised system (Dialogic card based)

 

The system from which the "SlowSpeed" traces were taken runs on a Virtual Machine.

 

On similar hardware, Virtual Machines run slower and they often run much slower then a system running directly without any VM layer. It depends on what the other virtual machines on the system are doing.

 

Looks like script in module "CheckEmpNumberValidateLogin" takes 1.5 seconds to run on "Normal Speed" machine, and it takes 4.2 seconds to run on a "SlowSpeed" virtual machine. (Other modules show similar slowdown)

 

Can't tell what the script in module "CheckEmpNumberValidateLogin" does, but looks it must connect to some databases as well, so you can go on and analyse whether the time spent is in the database connection setup, or database SQL command ran, or just in the general VBScript interpretation.

 

Adding more logging statements to your VBScript will let you see where the time is spent. See: http://www.voiceguide.com/vghelp/source/html/com_admin_tracelogadd.htm

 

If you are running that database on the virtual machine instance as well then most likely the time is spent waiting for database to process the SQL command...

 

 

 

"NormalSpeed":

172054.743  4   2   2 state [CheckTaskType] type: Script_VBScript, iRunWait=1
...
172056.550  9   2   2 rem   Run_ResultReturn [success] 7

172102.687  4   2   2 state [CheckEmpNumberValidateLogin] type: Script_VBScript, iRunWait=1
...
172104.172  9   2   2 rem   Run_ResultReturn [[blnIsAuthorized]{True}[blnIsMultipleAppointment]{False}[blnIsEmpNumberValid]{True}[blnIsPasswordExpired]{False}[blnIsLocked]{False}[intRetries]{4}[intNumberOfAppointment]{}[intRetriesTemp]{5}] 192

172108.832  4   2   2 state [GenerateMainMenu] type: Script_VBScript, iRunWait=1
...
172110.320  9   2   2 rem   Run_ResultReturn [[userID]{47216}[GroupID]{211}[MainMenu]{WAV Files\Main Menu_01.wav,WAV Files\One To Punch_01.wav,WAV Files\ScheduleInfo_Menu.wav,WAV Files\Leave Functions_01.wav}[PunchStyle]{General}[PayCodeForSick]{Sick}[PunchID]{12}[EarliestStart]{}[blnIsEarliestStartViolation]{False}[blnIsPromptForLeaveSet]{False}[userRole]{1677725695}[isDynamicSchedule]{False}] 350


 

 

"SlowProcess":

125105.029  4   3   1 state [CheckTaskType] type: Script_VBScript, iRunWait=1
...
125110.319 20   3   1 rem   Run_ResultReturn [success] 7

125118.247  4   3   1 state [CheckEmpNumberValidateLogin] type: Script_VBScript, iRunWait=1
...
125122.495 24   3   1 rem   Run_ResultReturn [[blnIsAuthorized]{True}[blnIsMultipleAppointment]{False}[blnIsEmpNumberValid]{True}[blnIsPasswordExpired]{False}[blnIsLocked]{False}[intRetries]{4}[intNumberOfAppointment]{}[intRetriesTemp]{5}] 192

125135.114  4   3   1 state [GenerateMainMenu] type: Script_VBScript, iRunWait=1
...
125139.336 27   3   1 rem   Run_ResultReturn [[userID]{47216}[GroupID]{211}[MainMenu]{WAV Files\Main Menu_01.wav,WAV Files\One To Punch_01.wav,WAV Files\ScheduleInfo_Menu.wav,WAV Files\Leave Functions_01.wav}[PunchStyle]{General}[PayCodeForSick]{Sick}[PunchID]{12}[EarliestStart]{}[blnIsEarliestStartViolation]{False}[blnIsPromptForLeaveSet]{False}[userRole]{1677725695}[isDynamicSchedule]{False}] 350

Share this post


Link to post

Hi,

I found out what the problem was: it was ADODB in my VBScript trying to open connection to SQL DB using a trusted connection. Since the IVR server and DB server are not located in the same domain, it took about 3 to 5 seconds for SQL Server authenticate the Windows user that has the same username and pwd and created as local separately.

I do not know why it would take this long, but decided not to bother since this is a hosted environment.

I changed this to use standard connection (SQL connection) and the delay part has gone.

 

Thanks.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×