From: John J. <jj...@as...> - 2004-10-21 19:09:21
|
Sounds good. If the current indexing hasn't been stress tested, something like 200 students, 15 problem sets with 15 problems each would be a good sized test. For something like assignment, the effect of indexing seen best at the end when you assign the last set. In other words, you want to see how it works when there is lots of data in the table. John Sam Hathaway wrote: > On Oct 21, 2004, at 2:04 PM, John Jones wrote: > >> This is interesting data. I have a few thoughts/questions. >> >> Does anyone have an explanation as to why sql_single would beat sql? >> Naively I would expect it to always be the other way around (or end >> up in ties). More information in the database table should not end >> up being faster. > > > The way sql_single is implemented currently is to have separate tables > for each course in a single database. (Tables are named like > "$courseID\_$sqlTableName".) There isn't a difference in table size. > >> So, is there a difference in the indexing of information? > > > I think that the "sql" courses did not have indexing enabled. If I'm > right, the "sql versus sql_single" data would mostly reflect > "non-indexed versus indexed" differences. > >> Also, were actions performed multiple times in each case to see if >> variations in system load were having an impact? >> >> Finally, it would be good to test sql_single with a few thousand >> students in it (and a dozen problem sets for each). The class you >> are timing against can be normal sized, but imagine a large site or >> one which has not removed information from their database for a few >> semesters. With sql_single, this adds to the size of the database >> tables. If the tables are not indexed optimally, it may not show >> itself until there is a huge amount of data in the database, but can >> then really slow down. >> >> John >> >> >> Sam Hathaway wrote: >> >>> Here is some timing data from Mike: >>> >>>> All of this data was taken on the development machine: >>>> devel.webwork.rochester.edu >>>> >>>> The quick summary is: >>>> >>>> >>>> Summary: Taken from data attached. Time is in seconds and is real >>>> time, not CPU time, >>>> so it is only useful for long processes. "diff = " measures the >>>> time from when the ContentGenerator >>>> module is called to the time it returns. >>>> >>>> Adding class list of 160 students: >>>> [Sat Oct 16 10:19:56 2004] 96404 1097936396 - >>>> [/webwork2/test_gdbm/instructor/users/] [diff = 3.000000 gdbm] >>>> [Sat Oct 16 10:36:13 2004] 96406 1097937373 - >>>> [/webwork2/test_sql/instructor/users/] [diff = 6.000000 sql] >>>> [Sat Oct 16 10:20:07 2004] 96403 1097936407 - >>>> [/webwork2/test_single_sql/instructor/users/] [diff = 3.000000 >>>> sql_single] >>>> >>>> >>>> Assign set 1 (12 problems) to 160 users: >>>> [Sat Oct 16 10:50:11 2004] 96403 1097938211 - >>>> [/webwork2/test_gdbm/instructor/sets/1/users/] [diff = 154.000000 >>>> gdbm] >>>> [Sat Oct 16 10:47:11 2004] 96406 1097938031 - >>>> [/webwork2/test_sql/instructor/sets/1/users/] [diff = 70.000000 sql] >>>> [Sat Oct 16 10:51:38 2004] 96404 1097938298 - >>>> [/webwork2/test_single_sql/instructor/sets/1/users/] [diff = >>>> 61.000000 sql_single] >>>> >>>> Assign 160 users to sets 2, 3, and 4 (41 problems) (using >>>> Instructor tools page) >>>> [Sat Oct 16 10:50:11 2004] 96403 1097938211 - >>>> [/webwork2/test_gdbm/instructor/sets/1/users/] [diff = 154.000000 >>>> gdbm] >>>> [Sat Oct 16 10:47:11 2004] 96406 1097938031 - >>>> [/webwork2/test_sql/instructor/sets/1/users/] [diff = 70.000000 sql] >>>> [Sat Oct 16 10:51:38 2004] 96404 1097938298 - >>>> [/webwork2/test_single_sql/instructor/sets/1/users/] [diff = >>>> 61.000000 sql_single] >>>> >>>> Assign set 5 (7 problems) to 160 students from the instructor tools >>>> page: >>>> [Sat Oct 16 14:57:39 2004] 96406 1097953059 - >>>> [/webwork2/test_gdbm/instructor/assigner/] [diff = 89.000000 gdbm] >>>> [Sat Oct 16 14:54:57 2004] 96404 1097952897 - >>>> [/webwork2/test_sql/instructor/assigner/] [diff = 136.000000 sql] >>>> [Sat Oct 16 15:17:46 2004] 96406 1097954266 - >>>> [/webwork2/test_single_sql/instructor/assigner/] [diff = 65.000000 >>>> sql_single] >>>> >>>> >>>> score sets 0 to 5: >>>> [Sat Oct 16 15:44:20 2004] 96406 1097955860 - >>>> [/webwork2/test_gdbm/instructor/scoring/] [diff = 67.000000 gdbm] >>>> [Sat Oct 16 15:46:00 2004] 96406 1097955960 - >>>> [/webwork2/test_sql/instructor/scoring/] [diff = 76.000000 sql] >>>> [Sat Oct 16 15:41:58 2004] 96403 1097955718 - >>>> [/webwork2/test_single_sql/instructor/scoring/] [diff = 73.000000 >>>> sql_single] >>>> >>>> view library (setDerivatives1, 30 problems displayMode=images) >>>> [Sat Oct 16 15:50:43 2004] 96406 1097956243 - >>>> [/webwork2/test_gdbm/instructor/setmaker/] [diff = 13.000000 gdbm] >>>> [Sat Oct 16 15:51:45 2004] 8926 1097956305 - >>>> [/webwork2/test_sql/instructor/setmaker/] [diff = 15.000000 sql] >>>> [Sat Oct 16 15:52:19 2004] 8926 1097956339 - >>>> [/webwork2/test_single_sql/instructor/setmaker/] [diff = 17.000000 >>>> sql_single] >>>> >>>> ---- This last one is a bit puzzling. Why is single_sql slower >>>> than sql? >>>> >>>> The other readings were all pretty short. It's clear that >>>> single_sql speeds up assigning problems. >>>> It wonder why it doesn't do even better than that. Why is the >>>> library display slow in single_sql? >>>> >>>> In general single_sql is at least as good as the competition so >>>> there are no deal stoppers. >>>> >>>> Take care, >>>> Mike >>>> >>>> >> >> >> >> ------------------------------------------------------- >> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal >> Use IT products in your business? Tell us what you think of them. >> Give us >> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find >> out more >> http://productguide.itmanagersjournal.com/guidepromo.tmpl >> _______________________________________________ >> OpenWeBWorK-Devel mailing list >> Ope...@li... >> https://lists.sourceforge.net/lists/listinfo/openwebwork-devel > |