1
Did you all get a chance to read that? As a public company we need to have
our disclosure statement before allfrom the gro...
3
4
5
6
http://www.flickr.com/photos/mc-p/321147947/




                                               7
8
9
10
In 32-bit world, made an argument for clustering. With rise of 64-bit, plus
greater stability with –XX options making a pi...
12
http://www.flickr.com/photos/8268257@N04/498871739/




                                                      13
14
15
Source: http://www.flickr.com/photos/t_squared/152270386/




                                                            ...
18
Source: http://www.flickr.com/photos/yanivg/131377774/




                                                         19
20
Source: http://www.flickr.com/photos/ale2000/1275120868/




                                                           21
Complete list of –XX Options:
http://sevenseconds.wordpress.com/2009/07/07/the-most-complete-list-of-
xx-options-for-java-...
In our most recent benchmark we settled on a 4GB JVM and 1000
threads/interfaces. It was sufficient to support 5000+ activ...
24
25
26
Source: http://www.flickr.com/photos/80854523@N00/2925662718/




                                                        ...
28
29
Easily configured Virtual Machine by cloning VMs using XenCenter




                                                     ...
31
Toad is our primary database access tool. While we use SQLPlus for many
operations, Toad provides a robust, easy to use vi...
33
34
35
36
37
38
39
40
41
Microsoft Power Point   Best Practices For Scaling Heavily Adopted And Concurrent Blackboard Learn Deployments Final
Upcoming SlideShare
Loading in...5
×

Microsoft Power Point Best Practices For Scaling Heavily Adopted And Concurrent Blackboard Learn Deployments Final

1,074

Published on

Published in: Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,074
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
39
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Microsoft Power Point Best Practices For Scaling Heavily Adopted And Concurrent Blackboard Learn Deployments Final

  1. 1. 1
  2. 2. Did you all get a chance to read that? As a public company we need to have our disclosure statement before allfrom the ground youon true enterprise Vista is the only solution built presentations. If up have any questions ontechnology --- please speak with our Generalyou continue to provide your what it means allowing you to ensure that Counsel. faculty and students an outstanding experience 2
  3. 3. 3
  4. 4. 4
  5. 5. 5
  6. 6. 6
  7. 7. http://www.flickr.com/photos/mc-p/321147947/ 7
  8. 8. 8
  9. 9. 9
  10. 10. 10
  11. 11. In 32-bit world, made an argument for clustering. With rise of 64-bit, plus greater stability with –XX options making a pitch away from clustering. Almost not necessary with virtualization, larger heaps and load-balancing. Becomes relevant again when we remove Web Server from architecture. 11
  12. 12. 12
  13. 13. http://www.flickr.com/photos/8268257@N04/498871739/ 13
  14. 14. 14
  15. 15. 15
  16. 16. Source: http://www.flickr.com/photos/t_squared/152270386/ 17
  17. 17. 18
  18. 18. Source: http://www.flickr.com/photos/yanivg/131377774/ 19
  19. 19. 20
  20. 20. Source: http://www.flickr.com/photos/ale2000/1275120868/ 21
  21. 21. Complete list of –XX Options: http://sevenseconds.wordpress.com/2009/07/07/the-most-complete-list-of- xx-options-for-java-6-jvm/ 22
  22. 22. In our most recent benchmark we settled on a 4GB JVM and 1000 threads/interfaces. It was sufficient to support 5000+ active/live sessions with exception response times (99% under 3s, 95% under 2s and 90% under 1s.). Latency vastly improved with aggressive –XX options. Below is an example of options we use from our wrapper.conf: # Initial Java Heap Size (in MB) wrapper.java.initmemory=4g # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=4g wrapper.java.additional.18=-Xloggc:C:/Bb/blackboard/logs/tomcat/gc.log wrapper.java.additional.19=-XX:NewSize=1g wrapper.java.additional.20=-XX:MaxNewSize=1g wrapper.java.additional.21=-XX:+UseConcMarkSweepGC wrapper.java.additional.22=-XX:+UseParNewGC wrapper.java.additional.23=-XX:ParallelGCThreads=(set this equal to the number of CPUs available for generational collections) wrapper.java.additional.24=-XX:+PrintGCDetails wrapper.java.additional.25=-XX:+PrintGCDateStamps wrapper.java.additional.26=-XX:+AlwaysPreTouch 23 wrapper.java.additional.27=-XX:ParallelCMSThreads=(set this equal to the
  23. 23. 24
  24. 24. 25
  25. 25. 26
  26. 26. Source: http://www.flickr.com/photos/80854523@N00/2925662718/ 27
  27. 27. 28
  28. 28. 29
  29. 29. Easily configured Virtual Machine by cloning VMs using XenCenter 30
  30. 30. 31
  31. 31. Toad is our primary database access tool. While we use SQLPlus for many operations, Toad provides a robust, easy to use visual interface that we use for script execution and basic DBA tasks. Many of the basic views that come with Toad are helpful in quickly spotting issues such as misplaced indexes in the wrong tablespaces, as well as viewing the size of tablespaces and data files. We also use it for script execution of routine database maintenance functions. PAO (Performance Analysis for Oracle) is our primary monitoring and instrumentation tool we use in Blackboard performance engineering. There are many reasons for using the tool set, but our primary reason is the warehousing capabilities. Our secondary reason for using the tool is the ability to compare timelines. We can take a baseline of activity, make a change to our configuration and perform a simple comparison of the workloads. Foglight is by far my absolute favorite performance instrumentation tool. We use the Tomcat cartridge for Foglight primary as it’s a lightweight instrumentation framework and imposes minimal overhead. I like a number of aspects, but my favorite three are the following: 1. I love that I can define a simple rule engine to perform a trace of the application code, including collecting SQL literals. Better yet, I can step into the trace and do a fast find by exclusive time to see what method call or SQL statement was responsible for consuming the most time. 32
  32. 32. 33
  33. 33. 34
  34. 34. 35
  35. 35. 36
  36. 36. 37
  37. 37. 38
  38. 38. 39
  39. 39. 40
  40. 40. 41

×