Difference between revisions of "SUNScholar/Optimisations"

From Libopedia
Jump to navigation Jump to search
 
(62 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{SUNScholar}}
+
<center>
 +
'''[[SUNScholar/Install DSpace/S11|Back to After Installation Tasks]]'''
 +
</center>
  
==Requirements==
 
{{WARNING}}
 
 
==Introduction==
 
==Introduction==
This wiki page details the major optimisations of the system performed at Stellenbosch University in order to create a '''truly production version of DSpace'''.
+
This wiki page details the major optimisations of the system performed at Stellenbosch University in an attempt to create a <big><font color="red">'''truly production optimised version of DSpace'''</font></big>.
 +
===Recommended===
 +
#[[SUNScholar/Install_Ubuntu/S01|Server Hardware]]
 +
#[[SUNScholar/Optimisations/Tomcat|Tomcat Webapp Server]]
 +
#[[SUNScholar/Optimisations/Database|ANSI SQL Database]]
 +
#[[SUNScholar/Optimisations/Java|Java Virtual Machine]]
 +
#[[SUNScholar/Optimisations/Logs|Reduce system log sizes]]
 +
#[[SUNScholar/Optimisations/Bitstream checker|Bitstream checker]]
  
==[[SUNScholar/Optimisations/Logs|Reduce system log sizes]]==
+
===Optional===
Click on the heading above.
+
#[[SUNScholar/Optimisations/Ubuntu Software|Ubuntu Software]]
 +
#[[SUNScholar/Optimisations/Monit service|Monit service]]
 +
#[[SUNScholar/Troubleshooting|Troubleshooting]]
  
==[[SUNScholar/Optimisations/Error Logs|Email error logs]]==
+
===YouTube Video===
Click on the heading above
+
<html5media width="560" height="315">https://www.youtube.com/watch?v=pGhbtULhNJA</html5media>
 
 
==Java Webapp Performance==
 
Perform Java profiling to find memory and CPU intensive code.
 
===Information===
 
*http://en.wikipedia.org/wiki/Java_performance
 
*http://en.wikipedia.org/wiki/VisualVM
 
*http://en.wikipedia.org/wiki/Java_Development_Kit
 
*http://en.wikipedia.org/wiki/OpenJDK
 
===Tools===
 
*http://java-source.net/open-source/profilers
 
*http://www.infoq.com/articles/java-profiling-with-open-source
 
*http://theholyjava.wordpress.com/2012/02/25/profiling-tomcat-webapp-with-visualvm-and-netbeans-pitfalls
 
*http://java.dzone.com/articles/pitfalls-experienced-when
 
*http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/profiler.html
 
*http://www.yourkit.com
 
 
 
==Tomcat==
 
See: http://www.turnkeylinux.org/tomcat
 
 
 
*Remove "mod_jk", use "authbind" exclusively with no need of the Tomcat AJP connector in order to reduce the CPU and memory load
 
http://wiki.lib.sun.ac.za/index.php/SUNScholar/Prepare_Ubuntu/S05
 
 
 
*Remove "development mode" of Tomcat by adding the following to the server context in order to reduce DNS lookups.
 
enableLookups="false"
 
 
 
==XMLUI==
 
*Use XMLUI exclusively to reduce the memory load.
 
http://wiki.lib.sun.ac.za/index.php/SUNScholar/Install_Dspace/S08
 
 
 
==Database==
 
*Fix "browse index" configuration to reduce the PostgreSQL database server query load.
 
http://wiki.lib.sun.ac.za/index.php/SUNScholar/Indexes#Browse_Indexes
 
Vacumn the database regularly
 
http://wiki.lib.sun.ac.za/index.php/SUNScholar/Daily_Admin#.22postgres.22_crontab
 
 
 
==Bitstream checker==
 
Modified bitstream checker settings as follows to reduce database size.
 
<pre>
 
#### Checksum Checker Settings ####
 
# Default dispatcher in case none specified
 
plugin.single.org.dspace.checker.BitstreamDispatcher=org.dspace.checker.SimpleDispatcher
 
 
 
# check history retention
 
checker.retention.default=1y
 
checker.retention.CHECKSUM_MATCH=2w
 
</pre>
 
 
 
==Monit monitor service==
 
In case the Tomcat service halts or hangs due to whatever... , I installed monit to restart the service and then alert me. See an example of my config below.
 
<pre>
 
dspace@ir1:/etc/monit$ sudo cat /etc/monit/monitrc
 
set daemon  60
 
set logfile syslog facility log_daemon
 
set mailserver localhost
 
set mail-format { from: XXXX@XX.XXX.XX.XX }
 
set alert XXXX@localhost
 
set httpd port 2812
 
    allow %user%:%password%
 
 
 
check process sshd with pidfile /var/run/sshd.pid
 
  start program  "/etc/init.d/ssh start"
 
  stop program  "/etc/init.d/ssh stop"
 
  if failed port 22 protocol ssh then restart
 
 
 
check host sunscholar with address scholar.sun.ac.za
 
  start program = "/etc/init.d/tomcat6 restart"
 
  stop program  = "/etc/init.d/tomcat6 stop"
 
  if failed port 80 proto http then restart
 
  alert XXXX@XXX.XX.XX
 
  alert XXXX@XXX.XX.XX
 
</pre>
 
All confidential information has been replaced with % signs or captial X's.
 
 
 
;References
 
*http://www.tecmint.com/how-to-install-and-setup-monit-linux-process-and-services-monitoring-program/
 
  
 
==References==
 
==References==
*https://wiki.duraspace.org/display/DSDOC18/Performance+Tuning+DSpace
+
*https://wiki.duraspace.org/display/DSPACE/SystemAdministrators
 +
*https://wiki.duraspace.org/display/DSPACE/PostgresPerformanceTuning
 +
*https://wiki.duraspace.org/display/DSDOC5x/Performance+Tuning+DSpace
 +
*https://wiki.duraspace.org/display/DSDOC4x/Performance+Tuning+DSpace
 +
*https://wiki.duraspace.org/display/DSDOC3x/Performance+Tuning+DSpace
 +
*https://wiki.duraspace.org/display/FCREPO/Performance+Testing
 
*http://www.turnkeylinux.org/tomcat
 
*http://www.turnkeylinux.org/tomcat
 +
*http://www.tecmint.com/how-to-install-and-setup-monit-linux-process-and-services-monitoring-program
 
*http://www.tecmint.com/command-line-tools-to-monitor-linux-performance
 
*http://www.tecmint.com/command-line-tools-to-monitor-linux-performance
----
+
[[Category:System Administration]]
{{SS-GRAPHS}}
+
[[Category:Optimisations]]
 
+
[[Category:Installation]]
'''[[SUNScholar/Install Dspace/S11|Back to After Installation Tasks]]'''
+
__NOTOC__

Latest revision as of 00:00, 10 June 2016