devcon11 tuning blackboard learn 9 for high demanded environments

38
Tuning Blackboard 9 for high demanded environments José Manuel López Luján Juan Francisco García García

Upload: jose-manuel-lopez-lujan

Post on 24-Jun-2015

6.243 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Tuning Blackboard 9 for high demanded environments

José Manuel López Luján Juan Francisco García García

Page 2: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Contact Information

•  José Manuel López Luján –  Email: [email protected] –  Twitter: @jmanuel_ll –  Blog: http://jm.inextgen-it.com – G+: [email protected]

•  Juan Francisco García García –  Email: [email protected] –  Twitter: @jfgarcia11 – G+: [email protected]

Page 3: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

EXO-ENVIRONMENT

Page 4: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Tec de Monterrey

91,084  students  8,391  teachers  31  campus  22  sites  &  interna8onal  offices  58  undergraduate  programs  42  master  degree  programs  10  doctorate  programs  14,000+  students  served  by  our  Virtual  University  16,811,469  visits  (Jan-­‐Jul)*  

103,403  ac8ve  users  (Sep  ‘10)  2,321,864  unique  visitors  

*GOOGLE  ANALYTICS  &  BBSTATS  

Page 5: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

WAN Topology

Alestra  VPN  

260  GB  Blackboard  throughput/day  

Internet  

2Mbps  ea.  

2Mbps  ea.  Videoconferencing  QoS  

2  (most),  4,  6,  34  Mbps    

68  Mbps  >  305  Mbps  due  to  Bb  demand  

Page 6: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

2009  status  Not  the  same  figures  Surely  an  approximate  trend  

USA   México  

Page 7: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Welcome to Region 4! (aka Americas’ 4th World)

Page 8: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Facts

•  We can’t afford to waste even 1 KB or 1 Kbps

•  We have to be as efficient as we can •  Some actions seem ridiculous: everything helps

Page 9: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

ENDO-ENVIRONMENT

Page 10: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Infrastructure

Page 11: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Infrastructure

Page 12: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Infrastructure

Page 13: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Blackboard in Tec de Monterrey System

Page 14: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

BRAINWORK (or braindrain)

Page 15: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Bad Perception

Knowledge & Communication

Compression   Op8miza8on  

Minifying  

Traffic

InMemory  Compression  

gzip  

Client  Side  Cache  Mgmt  

Caching  

Akamai  

Service Outages

Java  Memory  Mgmt  

Accurate  Load  Balancing  

blog  

support  community  

social  media  

©  FUTURAMA:  MATT  GROENIG,  20TH  CENTURY  FOX,  COMEDY  CENTRAL  

reqs    valida8on    

Apache  2.2  

Custom  Error  Pages  

Page 16: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Akamaizing

•  Volume���transferred: ���15.7 TB 2010

•  Office files •  PDFs •  Some scripts •  Media files

–  Audio –  Vídeo –  Flash

Page 17: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Web Compression���Enabling

 bbconfig.webserver.compression=Yes  bbconfig.webserver.compression.level=6  bbconfig.webserver.compression.min.filesize=600  bbconfig.webserver.compression.max.filesize=20000000  bbconfig.webserver.compression.max.filesize.mem=60000  

 

$BB_HOME/config/bb-config.properties

mod_gzip_temp_dir    @@bbconfig.basedir@@/system/temp    CustomLog    @@bbconfig.basedir@@/logs/httpd/mod_gzip.log  common_with_mod_gzip_info2  

$BB_HOME/apps/httpd/conf/gzip.conf.bb

70%  traffic  reduc8on  

Page 18: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

32 % CPU AVG

.831% CPU AVG

CPU Usage | Network Traffic | User Perception

As is No compression

Default Bb Compression

Network traffic 100%

30%

Bad  pe

rcep

8on  “ind

ex”  

CPU Usage

BPI  

Page 19: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Web Compression���Enabling

 bbconfig.webserver.compression=Yes  bbconfig.webserver.compression.level=6  bbconfig.webserver.compression.min.filesize=600  bbconfig.webserver.compression.max.filesize=20000000  bbconfig.webserver.compression.max.filesize.mem=60000  

 

$BB_HOME/config/bb-config.properties

mod_gzip_temp_dir    @@bbconfig.basedir@@/system/temp    CustomLog    @@bbconfig.basedir@@/logs/httpd/mod_gzip.log  common_with_mod_gzip_info2  

$BB_HOME/apps/httpd/conf/gzip.conf.bb

70%  traffic  reduc8on  I/O  HDD  

Page 20: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Web Compression

With  Gz  +W  over  HDD  With  Gz  +W  over  RAM   No  compression  

CPU  Usage  

Page 21: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Web Compression Threads  

With  Gz  +W  over  HDD  With  Gz  +W  over  RAM   No  compression  

Page 22: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Web Compression

# Working directory for temporary files and the compression cache if not specified, the following default values are used: [Win32=c:\temp], [UNIX=/tmp]

TEMP  dir  

Mod-gzip_temp_dir /tmp CustomLog "|@@bbconfig.basedir@@/apps/httpd/bin/rotatelogs @@bbconfig.basedir@@/logs/httpd/mod_gzip_log-%Y-%m_%d_%H_%M_%S 3600 -300" common_with_mod_gzip_info2

Page 23: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

6.97 % CPU AVG

32 % CPU AVG

.831% CPU AVG

CPU Usage | Network Traffic | User Perception

As is No compression

Default Bb Compression

(HD)

Memory compression

Network traffic 100%

30%

Bad  pe

rcep

8on  “ind

ex”  

CPU Usage

BPI  

BPI  

Page 24: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Default vs Custom Login page Payload  with  No  Compression  

Login

News from various sources thru twitter

Guest login

Links to support social Media and related links

Char size + high contrast

Page 25: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Minifying & compression

648  

184.9  

419  

102.2  

763.4  

506.5  

184.1  

146  

0   100   200   300   400   500   600   700   800   900  

Login  Page      

Login  Page  w/gzip    

Login  Page  w/mini    

Login  Page  w/min+gzip    

Transfer  payload  

5 times less overhead! �Multiply it by 66k logins/hour�

Tec  de  Monterrey  

Bb  Default  

Page 26: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Client-side Cache Mgmt���

Implement mod_headers and mod_expires modules Apache 1.3: Modify apxs scripts in $BBHOME/apps/httpd/bin

Apache 1.3: Modify add config file in $BBHOME/apps/httpd/conf

LoadModule expires_module libexec/mod_expires.so LoadModule headers_module libexec/mod_headers.so # Turn on Expires and set default to 0 ExpiresActive On ExpiresDefault A0 # Set up caching on media files for 1 year (forever?) <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> ExpiresDefault A29030400 Header append Cache-Control "public" </FilesMatch> # Set up caching on media files for 1 week <FilesMatch "\.(gif|jpg|jpeg|png|swf)$"> ExpiresDefault A604800 Header append Cache-Control "public" </FilesMatch> # Set up caching on commonly updated files for 1 week <FilesMatch "\.(xml|txt|html|js|css)$"> ExpiresDefault A604800 # Header append Cache-Control "proxy-revalidate" Header append Vary Accept-Encoding </FilesMatch> # Force no caching for dynamic files <FilesMatch "\.(php|cgi|pl|htm|jsp|jspf|do)$"> ExpiresActive Off Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform" Header set Pragma "no-cache" </FilesMatch>

Page 27: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Tuning TCP/UDP

tcp_conn_req_max_q 2048

tcp_conn_req_max_q0 10240

tcp_smallest_anon_port 1024

tcp_time_wait_interval 60000

tcp_xmit_hiwat 65536

tcp_recv_hiwat 65536

udp_smallest_anon_port 1024

udp_xmit_hiwat 65536

udp_recv_hiwat 65536

Page 28: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Load Balancing

COOKIE_INSERT_EXPIRATION_DATE 200 minutes Probe HEALTHCHECK_BB

Request to http://APPX.itesm.mx/webapps/portal/healthCheck

Probe TCP8007 Ping TCP 8007

Probe ICMP Probe TCP80

Ping TCP 80

BB9ITESM: cursos.itesm.mx APP2, MaxConn 800, weight 8 APP3, MaxConn 800, weight 8 APP4, MaxConn 800, weight 8 APP5, MaxConn 600, weight 6 APP6, MaxConn 600, weight 6 APP7, MaxConn 600, weight 6

CURSOS-SYNC: cursos-sync.itesm.mx APP5, MaxConn 200, weight 8 APP6, MaxConn 200, weight 8 APP7, MaxConn 200, weight 8

Page 29: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Apache 2.2���why not?

Requests/second   Apache  1.3.41   Apache  2.2.19   Improvement  

Image   745   1413   89%  

Binary  file   149   380   155%  

Dynamic  content   832   1484   78%  

Solaris  10  SPARC,  v490,  16G  RAM  

Page 30: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Using NUMA���on NUMA-Architecture servers

•  30% (32-bit) to 40% (64-bit) performance improvement

•  Turn it on with���-XX:UseNUMA in bbconfig.jvm.options.e

xtra.tomcat parameter in bb-config.properties

Page 31: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

SM Support Strategy

Page 32: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Custom error pages

ErrorDocument 500 /common/error500.html ErrorDocument 502 /common/error502.html ErrorDocument 503 /common/error503.html ErrorDocument 403 /common/error403.html ErrorDocument 404 /common/error404.html

ErrorDocument 401 /common/error401.html

Page 33: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Twitter Connect with  Twiqer4j  

Page 34: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Requirements validation

inspired  in  Blackboard  Browser  Tester  b2  by  Dr.  Malcolm  Murray  from  DU  and  implemented  and  modified  a  JavaScript  file  which  Shannon  Meisenheimer  from  UCMO  wrote.  

Page 35: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

CA Service Desk Manager Connect

Page 36: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

CA Service Desk Manager Connect

Technical information

Page 37: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Facebook Newsfeed module

Page 38: DevCon11 Tuning Blackboard Learn 9 for high demanded environments

Please provide feedback for this session by emailing [email protected].

The title of this session is:

Tuning  Blackboard  9.x  for  high  demanded  environments