Performance and report issues with a SCORM

Re: Performance and report issues with a SCORM

by Alistair Cooper -
Number of replies: 4

Thanks Dan, that's really useful. We'll investigate with the server team and see what we can come up with. Thanks for the moodle partner link too.

In reply to Alistair Cooper

Re: Performance and report issues with a SCORM

by Silvia Pinheiro -
Hi Alistair,

Were you able to understand the reason behind the issues on the SCORM reports?


The SCORM packages we use were created with HTML5 and they were reporting everything we needed to build a custom report on Moodle.

At the moment, we are testing the new packages built for the third course and I noticed some missing results on the SCORM reports. I mentioned this to my project manager and she told me she had noticed some of this on the previous year. I tried to find the same issues but they don't seem to occur as much as now...She also says that she noticed this after we upgraded the Moodle version from 2.8 to 3.1

I've been trying to understand if it is a Moodle performance issue or the SCORM package. I uploaded two different packages on scorm cloud and they seem to be saving all the interactions and score as expected.

Here is one of the logs obtained from the cloud:

+ [10:13:59.527] LMSSetValue('cmi.interactions.19.id', '20') returned 'true' in 0 seconds
+ [10:13:59.527] LMSSetValue('cmi.interactions.19.result', 'wrong') returned 'true' in 0 seconds
         [10:13:59.527] CheckForSetValueError (cmi.interactions.19.result, wrong, cmi.interactions.n.result, 19, )
         [10:13:59.527] Element is: interactions.result
         [10:13:59.527] Call is error free.
         [10:13:59.527] StoreValue (cmi.interactions.19.result, wrong, cmi.interactions.n.result, 19, )
         [10:13:59.527] Element is: interactions.result
+ [10:13:59.527] LMSCommit('') returned 'true' in 0 seconds
+ [10:13:59.527] LMSSetValue('cmi.interactions.19.student_response', '0') returned 'true' in 0 seconds
+ [10:13:59.527] LMSCommit('') returned 'true' in 0 seconds

Here is one of the logs obtained from the Moodle API debug tool:

scorm bug report commit interaction

This would match to the missing record on the database

I don't have access, at the moment, to the apache logs, but hopefully I can see them during this week.


I would like to know if there is anything else I should test on our end? 


Thanks

In reply to Silvia Pinheiro

Re: Performance and report issues with a SCORM

by Alistair Cooper -

Hi Silvia,


For us it turned out to be a database connection issue. Basically the connection between moodle and the database was dropping out every now and again, and because scorm packages 'ping' back and forth between moodle and the database multiple times, when any of those pings failed in their connection, various hanging behaviour would appear. Specifically, user's results not getting captured.

The below is from our database engineer:

"...the only reference to anyone having any trouble relating to intermittently failing on connection to a SQL Server that I can find is this email exchange which dates back to 2004 https://bugs.php.net/bug.php?id=29074. If you follow this all the way through you will see that there was no resolution and the originator put it down to a corrupt install of either php, apache, ubuntu or all three. He eventually retired the server and rebuilt with newer components and the problem went away."


His interim solution was to build a loop into the (moodle? database? bit beyond me, sorry) code so that if the connection fails, it will wait for 1/10th second and then try again, up to a maximum of 10 attempts after which it will assume the database server really is down. ie, if the database connection failed on one of the scorm 'pings', rather than contue on without capturing that data, it would try again, up to 10 times. That's solved it for us.


Hope that's of some use!

In reply to Alistair Cooper

Re: Performance and report issues with a SCORM

by Silvia Pinheiro -

Good that it worked for you. I will investigate with the server team. Thanks Alistair.