Tipps zur Performanceoptimierung für Liferay Portal

454 Aufrufe

Veröffentlicht am

Mit Liferay einer Open Source Portallösung werden umfangreiche Enterprise- oder Mitarbeiterportale realisiert. Liferay eignet sich auch für mehrsprachige Internetportale mit geschlossenen Nutzerräumen.
In allen Fällen muss Liferay den Zugriff von mehreren hunderten gleichzeitigen Zugriffen ohne großen Performance Verlust verkraften.
Leicht gesagt und nicht so einfach zu realisieren. Wir sind an das Thema Liferay Performance systematisch heran gegangen. Heraus gekommen sind allgemeine und Liferay spezifischen Regeln, die das Ziel haben eine gute Performance bei hoher Last zu erreichen.

Liferay - ein modernes Portalsystem

Liferay Portal, ein Open Source Portalsystem, eignet sich in Ihrem Unternehmen als mitarbeiter- und prozessorientiertes Enterprise Portal. Es ist eine Portal-Software, die es Ihrem Unternehmen ermöglicht, Informationen, Daten und Anwendungen unter einer einheitlichen Bedienungsoberfläche im Webbrowser zu vereinen, zu personalisieren und dadurch die Geschäftsprozesse Ihres Unternehmens elektronisch zu unterstützen. Die lizenzkostenfreie Open Source Software beeindruckt durch ihre Vielzahl an Funktionen und ihre hervorragende Software-Architektur.

500 Kunden als weltweite Referenzen in verschiedensten Industriebereichen
Schnelle Innovationszyklen
Neue Releases im Abstand von jeweils 8 Monaten
Eine starke Community mit rund 3 Millionen Downloads
250.000 installierten Anwendungen weltweit
Liferay Portal ist das am häufigsten eingesetzte und ausgereifte Open Source Portalframework
Liferay Portal mit mehr als 150 Portlets ist nicht nur die breiteste, sondern auch funktional umfassendste Entwicklung im Open Source Portalumfeld


comundus hat sich seit ihrer Gründung 2001 in Waiblingen bei Stuttgart als Open Source Experte erfolgreich etabliert. Mittelständische Unternehmen und öffentliche Einrichtungen vertrauen auf die langjährigen IT-Erfahrungen des Hauses in der Realisierung ihrer digitalen Arbeitsplätze.
Dabei liegt der Fokus von comundus auf Mitarbeiterportalen und Enterprise Portals. Diese werden für Kunden individuell zusammengestellt. Ergänzend beraten die Experten ihre Kunden auf dem Weg zum Mobile Business und realisieren die Anforderungen vom responsive Design bis zur native App. Internet Portale runden das Leistungsangebot ab.

Produkte wie Liferay Portal, OpenCms, die Enterprise Search Solr und die Web-Shop Plattform KonaKart aus dem Open Source Bereich werden dem Wandel des digitalen Arbeitsplatzes gerecht. Sie helfen unseren Kunden unabhängig von teurer proprietärer Software zu sein.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
454
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Tipps zur Performanceoptimierung für Liferay Portal

  1. 1. Open Source IT-Dienstleister Performanceoptimierung Allgemeine Regeln und Werkzeuge (Liferay-Portal) Konstantinos Kododimos
  2. 2. Folie: 2 • © comundus GmbH 4. November 2014 • www.comundus.com Performance Vorteil: Extrem schnell Nachteil: Nur eine Person transportieren
  3. 3. Folie: 3 • © comundus GmbH 4. November 2014 • www.comundus.com Viele Daten und Benutzer Vorteil: Viele Menschen transportieren Nachteil: Sehr langsam
  4. 4. Folie: 4 • © comundus GmbH 4. November 2014 • www.comundus.com Studie – Ausstieg von Webseiten Quelle: http://www.seo2b.de/blog/id-5-tipps-fuer-mobile-seo-im-m-commerce.html
  5. 5. Folie: 5 • © comundus GmbH 4. November 2014 • www.comundus.com Performance mit vielen Daten und Benutzer Vorteil: • Viele Menschen transportieren • Extrem schnell • Modernes Design • Kein ICE 
  6. 6. Folie: 6 • © comundus GmbH 4. November 2014 • www.comundus.com • Regel 1 - Lege die Performanceziele am Anfang des Projektes fest • Welche Hardware wird bereitgestellt? • Wann sind die Spitzenzeiten? • Wann treten Dauerbelastungen auf? • Welche Integrationspunkte bzw. Schnittstellen werde ich benötigen? • Identifiziere potenzielle Risiken frühzeitig! Entwicklerregeln für eine bessere Performance
  7. 7. Folie: 7 • © comundus GmbH 4. November 2014 • www.comundus.com • Regel 2 – Hardware ist endlich Entwicklerregeln für eine bessere Performance
  8. 8. Folie: 8 • © comundus GmbH 4. November 2014 • www.comundus.com • Regel 3 – Erweitere deine Trickkiste • Schau dir auch andere Tools an • Ist die Art wie du entwickelts noch Up To Date? Entwicklerregeln für eine bessere Performance
  9. 9. Folie: 9 • © comundus GmbH 4. November 2014 • www.comundus.com • Regel 4 – Schreibe keinen schlechten Quellcode • Keine Zeit – Keine Ausrede • Junit • Reviews !!! • Sonarqube – Qualität des Sourcecode prüfen • http://www.sonarqube.org/ • Konventionen einhalten – so gut es geht Entwicklerregeln für eine bessere Performance
  10. 10. Folie: 10 • © comundus GmbH 4. November 2014 • www.comundus.com • Regel 5 – Teste dein Programm • Junit • Mocks • Webstress-Tools • JMeter • http://www.opensourcetesting.org/performance.php • Reviews • Sonarqube – Qualität des Sourcecode prüfen • http://www.sonarqube.org/ Entwicklerregeln für eine bessere Performance
  11. 11. Folie: 11 • © comundus GmbH 4. November 2014 • www.comundus.com Liferay Portal ist eine Standard Java 2 Enterprise Edition - J2EE- Anwendung. Diese Anwendung wird auf dem Application Server ausgeführt, welche in Java Virtual Machine (JVM) läuft, die wiederum als Standard-Anwendung im Betriebssystem läuft. Liferay Portal – Zwiebelmodell
  12. 12. Folie: 12 • © comundus GmbH 4. November 2014 • www.comundus.com • Prozessor monitoring • System Ladezeiten • System Resourcen • CPU • Mem • HDD • Netzwerk • Linux • vmstat -t 1 • netstat -nlpt Liferay Portal – Betriebssystem
  13. 13. Folie: 13 • © comundus GmbH 4. November 2014 • www.comundus.com • Linux • vmstat -t 1 • gibt tabellarisch Auskunft über Prozesse, Arbeitsspeicher, Auslagerung sowie Festplatten- und Prozessor-Aktivitäten • Netstat • Diagnose-Werkzeug, mit dem man verschiedene Informationen über den Status der Netzwerkschnittstelle(n) in Erfahrung bringen kann Liferay Portal – Betriebssystem
  14. 14. Folie: 14 • © comundus GmbH 4. November 2014 • www.comundus.com • Garbage Collector configuration • Serial Collector – Standard Collector im JDK • Guter Collector für Desktop basierte Applikationen, die auf einem Prozessor laufen • Parallel Collector • Guter Collector für Server basierte System, die auf mehreren Prozessoren laufen • Concurrent Collector Liferay Portal – Java Virtual Machine
  15. 15. Folie: 15 • © comundus GmbH 4. November 2014 • www.comundus.com • Heap configuration • Einstellungen • NewSize, MaxNewSize: +UseParNewGC: +UseConcMarkSweepGC: +CMSParallelRemarkEnabled: ServivorRatio: ParallelGCThreads: • Beispiel: JAVA_OPTS="$JAVA_OPTS -XX:NewSize=700m -XX:MaxNewSize=700m -Xms2048m -Xmx2048m -XX:MaxPermSize=128m -XX:+UseParNewGC -XX: +UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=20 -XX:ParallelGCThreads=8" Liferay Portal – Java Virtual Machine
  16. 16. Folie: 16 • © comundus GmbH 4. November 2014 • www.comundus.com • Logs – Log4J Einstellungen • Admin Console • Monitoring Apps • Datenbank Einstellungen Anpassen !!! • JNDI Schnittstelle für die Verbindung zur DB verwenden • Datenbank connection pool size sollte ungefähr 20 bis 30 % der Thread Pool size sein • Überprüft die eingestellten Connections in der JNDI config (Root.xml) mit der eurer DB • JNDI maxActive="750" maxWait="10000„ maxIdle="200" minIdle="30„ • Überprüft in …/mysql/my.cnf die -> max_connections=750 • Benutzt Profiling Tool Liferay Portal – Application Server und Datenbank
  17. 17. Folie: 17 • © comundus GmbH 4. November 2014 • www.comundus.com • Überprüfe den Zugriff auf die Liferay DB-Tabellen • Überprüfe auf welche Tabellen deine Anwendungen zugreifen • Nur primary keys der einzelnen Liferay Tabelle sind indexiert • Indexiere die benötigten Felder der Tabellen • Die Liferay …ServiceUtil Klassen greifen auf die Datenbank zu • Wird die Klasse in einer längeren for Schleife genutzt, entstehen Perfomancenprobleme -> suche nach einer besseren Lösung • Abfrage von Expando Felder evtl. über Solr abfragen anstatt über for Schleife • Anstatt einzelne JournalArticle auf eine Expando Feld abzufragen, dies über eine Solr abfragen auslesen z.B. BooleanQuery searchExpando = BooleanQueryFactoryUtil.create(searchContext); searchExpando.addTerm("expando/custom_fields/changes", "Änderung"); searchExpando.addTerm("expando/custom_fields/changes", "Neu"); this.searchQuery.add(searchExpando, BooleanClauseOccur.MUST); Liferay Portal – Liferay Portal
  18. 18. Folie: 18 • © comundus GmbH 4. November 2014 • www.comundus.com • Schaltet nicht benötigte Servlet Filter aus • CAS filter - CAS for Single Sign-On • NTLM SSO filter - users authenticating via NTLM • OpenSSO filter - OpenSSO für Single Sign-On • SharePoint - functionality for saving documents directly to the portal • GZip - compress HTTP responses using GZip compression • Strip - remove blank lines from the generated response • ValidHtml - add JavaScript out of the body tag to improve the page rendering performance Liferay Portal – Liferay Portal
  19. 19. Folie: 19 • © comundus GmbH 4. November 2014 • www.comundus.com • Passt die Lucene Indexierung an • Standardmäßig ist Liferay so konfiguriert, das bei jedem Commit Indexänderung auf dem Dateisystem vorgenommen werden • Je nach Inhalt können diese Dateien große Dateien oder viele kleine Dateien sein • Wenn viele Dateien veröffentlicht und geladen werden müssen, dann passt in der portal-ext.properties folgende Werte an - z.B. • lucene.commit.batch.size=10000 • lucene.commit.batch.size=10000 • lucene.commit.time.interval=300000 • Der beste Weg ist aber, für die Suche eine seperate Umgebung aufzubauen wie z.B. Solr. Liferay Portal – Liferay Portal
  20. 20. Folie: 20 • © comundus GmbH 4. November 2014 • www.comundus.com • HTML Positionierung von Elementen • Was ist an diesem Code falsch </script> </html> <script language=javascript> if(window.abc_p==null) document.write("<script language=javascript src=http://test.com/a/lib/ab/ab_1.0.0.js></script>"); </script> • Das Javascript hinter dem HTML Code • In der Datei iferay-portlet.xml kann für jedes Portlet eingestellt werden, wo die JavaScripte liegen sollen: • <footer-portlet-javascript>/html/portlet/message_boards/javascript.js</footer-portlet-javascript> • Oder • <header-portlet-javascript>/html/portlet/message_boards/javascript.js</header-portlet-javascript> Liferay Portal – Liferay Portal
  21. 21. Folie: 21 • © comundus GmbH 4. November 2014 • www.comundus.com Kontakt comundus Ansprechpartner Konstantinos Kododimos Senior IT-Berater E-Mail: K.Kododimos@comundus.com Tel: + 49 7151 94421-10 www.comundus.com

×