[Building Sakai] Samigo performance grading an assessment

Miguel Carro Pellicer miguel at educlever.es
Mon Jun 30 23:34:08 PDT 2014


Thank you so much Karen, we backported SAM-1472 to our Sakai 2.9 while 
we're migrating to Sakai 10.

Miguel.

El 30/06/2014 22:49, Karen Tsao escribió:
> Or maybe this one: https://jira.sakaiproject.org/browse/SAM-1472?
>
> And this is the one related to delivery flow: 
> https://jira.sakaiproject.org/browse/SAM-1701.
>
> Thanks,
> Karen
>
>
>
> On Mon, Jun 30, 2014 at 7:45 AM, Miguel Carro Pellicer 
> <miguel at educlever.es <mailto:miguel at educlever.es>> wrote:
>
>     Not really,
>
>     The performance was bad when grading an assessment released to
>     groups, the way that Samigo calculates the available user's
>     submissions was heavy as hell.
>
>     I did a complete study because i thought that only the delivery
>     was improved, but not! i should started looking at Sakai 10, it
>     improves that implementation and now the response times are
>     reasonable, so no more problems yet.
>
>     Thanks and good job! Miguel.
>
>
>     El 30/06/2014 15:12, Neal Caidin escribió:
>>     Thanks Miguel, for the detailed analysis.
>>
>>     Could you please elaborate on the problem with sections?
>>
>>     Is it related to this jira:
>>     https://jira.sakaiproject.org/browse/KNL-800
>>
>>     ?
>>
>>     -- Neal
>>
>>
>>>     Miguel Carro Pellicer <mailto:miguel at educlever.es>
>>>     June 30, 2014 at 5:29 AM
>>>     I backported the Sakai 10 implementation and improves a lot the
>>>     performance.
>>>
>>>     My implementation is faster but has problems with sections, so
>>>     at the end it's not correct.
>>>
>>>     Sakai 10 implementation is much better than 2.9's,
>>>     congratulations community! Miguel.
>>>
>>>
>>>     El 30/06/2014 11:15, Miguel Carro Pellicer escribió:
>>>
>>>     _______________________________________________
>>>     sakai-dev mailing list
>>>     sakai-dev at collab.sakaiproject.org
>>>     <mailto:sakai-dev at collab.sakaiproject.org>
>>>     http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>
>>>     TO UNSUBSCRIBE: send email to
>>>     sakai-dev-unsubscribe at collab.sakaiproject.org
>>>     <mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a
>>>     subject of "unsubscribe"
>>>     Miguel Carro Pellicer <mailto:miguel at educlever.es>
>>>     June 30, 2014 at 5:15 AM
>>>     I noticed there is a new implementation of this method in Sakai
>>>     10, i will study the new implementation comparing the execution
>>>     time.
>>>
>>>     I want to do some tests before getting a solid conclusion.
>>>
>>>     Miguel.
>>>
>>>
>>>     El 30/06/2014 10:28, Miguel Carro Pellicer escribió:
>>>
>>>     _______________________________________________
>>>     sakai-dev mailing list
>>>     sakai-dev at collab.sakaiproject.org
>>>     <mailto:sakai-dev at collab.sakaiproject.org>
>>>     http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>
>>>     TO UNSUBSCRIBE: send email to
>>>     sakai-dev-unsubscribe at collab.sakaiproject.org
>>>     <mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a
>>>     subject of "unsubscribe"
>>>     Miguel Carro Pellicer <mailto:miguel at educlever.es>
>>>     June 30, 2014 at 4:28 AM
>>>     Hi Subscribers, i want to share some experiences with the Samigo
>>>     grading process and its performance.
>>>
>>>     One of my clients detected some performance issues while grading
>>>     an assessment "Released to groups". I made an export of the
>>>     production database to study the problem in depth and i got this
>>>     conclusions:
>>>
>>>     Execution conditions:
>>>
>>>       * Site with over 280 users (We have sites with 7K users, so i
>>>         selected that site to do not die in the process)
>>>       * Site with 30+ groups.
>>>       * Assessment released to 1 group, 10 people max inside the group
>>>       * Only 1 submission
>>>
>>>     Execution time:
>>>     -------------Start Executing TotalScoreBean->getUserIdMap
>>>     ---TotalScoreBean->getUserIdMap
>>>     getEnrollmentListForSelectedSections Total: 6.107273677
>>>     <tel:6.107273677> secs / Size of the list-->1
>>>     ---TotalScoreBean->getUserIdMap Put list elements inside the Map
>>>     Total: 3.69807E-4 secs
>>>     -------------End execution of TotalScoreBean->getUserIdMap 
>>>     Total: 6.107788306 <tel:6.107788306> secs
>>>
>>>     That method spent 6.10 seconds to return the map of users,
>>>     that's too much,  i reviewed the implementation of
>>>     SectionAwareServiceHelperImpl.java -> getGroupReleaseEnrollments.
>>>
>>>       * The method iterates over all users in the site
>>>       * For every user checks if the user belongs to the configured
>>>         groups.
>>>           o Iterates over all site groups where the user is member
>>>           o Compares if the groups where the user is member is
>>>             configured in the assessment.
>>>
>>>     The final time for this case is 6,10 seconds, we have sites that
>>>     spents almost 40 seconds in render TotalScores screen.
>>>
>>>     So....i decided to make a new implementation
>>>
>>>       * Gets the configured groups
>>>       * For every configured group, get the enrolled users.
>>>
>>>     .....and i got this times:
>>>
>>>     -------------Start Executing TotalScoreBean->getUserIdMap
>>>     ---TotalScoreBean->getUserIdMap
>>>     getEnrollmentListForSelectedSections Total: 0.312536644 secs /
>>>     Size of the list-->1
>>>     ---TotalScoreBean->getUserIdMap Put list elements inside the Map
>>>     Total: 3.33822E-4 secs
>>>     -------------End execution of TotalScoreBean->getUserIdMap 
>>>     Total: 0.31294946 secs
>>>
>>>     The new implementation is this
>>>     (samigo-services\src\java\org\sakaiproject\tool\assessment\integration\helper\integrated\SectionAwareServiceHelperImpl.java):
>>>
>>>     /**
>>>          * added by MCARRO - June 2014
>>>          * @param siteid
>>>          * @param userUid
>>>          * @return
>>>          */
>>>         public List getGroupReleaseEnrollments(String siteid, String
>>>     userUid, String publishedAssessmentId) {
>>>             List enrollments = new ArrayList<EnrollmentRecord>();
>>>             List releaseGroupIds = PersistenceService.getInstance()
>>>               .getPublishedAssessmentFacadeQueries()
>>>     .getReleaseToGroupIdsForPublishedAssessment(publishedAssessmentId);
>>>             Iterator groupsIter = releaseGroupIds.iterator();
>>>             while (groupsIter.hasNext()) {
>>>                 String groupId = (String) groupsIter.next();
>>>     enrollments.addAll(getSectionAwareness().getSectionMembersInRole(groupId,
>>>     Role.STUDENT));
>>>             }
>>>             return enrollments;
>>>         }
>>>
>>>     Someone consider interesting changing the current
>>>     implementation? Someone see any problem with this new
>>>     implementation? I checked lots of assessments and the
>>>     information is the same, but the processing time decreased
>>>     drastically.
>>>
>>>     Thank you so much, Miguel.
>>>
>>>     _______________________________________________
>>>     sakai-dev mailing list
>>>     sakai-dev at collab.sakaiproject.org
>>>     <mailto:sakai-dev at collab.sakaiproject.org>
>>>     http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>
>>>     TO UNSUBSCRIBE: send email to
>>>     sakai-dev-unsubscribe at collab.sakaiproject.org
>>>     <mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a
>>>     subject of "unsubscribe"
>>
>>     -- 
>>     Neal Caidin
>>     Sakai Community Coordinator
>>     Apereo Foundation
>>     neal.caidin at apereo.org <mailto:neal.caidin at apereo.org>
>>     Skype me! (but let me know in advance for the first interaction)
>>     - nealkdin
>>
>
>     -- 
>     Logo 	
>
>     Miguel Carro
>     Pellicer<http://es.linkedin.com/pub/miguel-carro-pellicer/38/502/b92>
>     /IT Consultant - Elearning solutions/
>
>     Phone: +34 - 686266485
>     Email: miguel at educlever.es <mailto:miguel at educlever.es>
>
>     No me imprimas si no es necesario. Protejamos el medio ambiente
>
>
>     AVISO LEGAL: El contenido de este mensaje de correo electrónico,
>     incluidos los ficheros adjuntos, es confidencial y está protegido
>     por el artículo 18.3 de la Constitución Española, que garantiza el
>     secreto de las comunicaciones.
>     Si usted recibe este mensaje por error, por favor póngase en
>     contacto con el remitente para informarle de este hecho, y no
>     difunda su contenido ni haga copias.
>     *** Este mensaje ha sido verificado con herramientas de
>     eliminación de virus y contenido malicioso ***
>     Este aviso legal ha sido incorporado automáticamente al mensaje.
>
>
>     _______________________________________________
>     sakai-dev mailing list
>     sakai-dev at collab.sakaiproject.org
>     <mailto:sakai-dev at collab.sakaiproject.org>
>     http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
>     TO UNSUBSCRIBE: send email to
>     sakai-dev-unsubscribe at collab.sakaiproject.org
>     <mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a
>     subject of "unsubscribe"
>
>

-- 
Miguel Carro Pellicer
Logo 	

Miguel Carro 
Pellicer<http://es.linkedin.com/pub/miguel-carro-pellicer/38/502/b92>
/IT Consultant - Elearning solutions/

Phone: +34 - 686266485
Email: miguel at educlever.es <mailto:miguel at educlever.es>

No me imprimas si no es necesario. Protejamos el medio ambiente


AVISO LEGAL: El contenido de este mensaje de correo electrónico, 
incluidos los ficheros adjuntos, es confidencial y está protegido por el 
artículo 18.3 de la Constitución Española, que garantiza el secreto de 
las comunicaciones.
Si usted recibe este mensaje por error, por favor póngase en contacto 
con el remitente para informarle de este hecho, y no difunda su 
contenido ni haga copias.
*** Este mensaje ha sido verificado con herramientas de eliminación de 
virus y contenido malicioso ***
Este aviso legal ha sido incorporado automáticamente al mensaje.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140701/86c200c0/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 146ed3cd7bc1ce2c_compose-unknown-contact.jpg
Type: image/jpeg
Size: 770 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140701/86c200c0/attachment.jpg 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 17251 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140701/86c200c0/attachment.jpe 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 1103 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140701/86c200c0/attachment-0001.jpe 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AF-BRAND---EDUCLEVER-01.jpg
Type: image/jpeg
Size: 17251 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140701/86c200c0/attachment-0001.jpg 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: linkedin.jpg
Type: image/jpeg
Size: 1103 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140701/86c200c0/attachment-0002.jpg 


More information about the sakai-dev mailing list