Upload
harald-zeitlhofer
View
616
Download
3
Tags:
Embed Size (px)
DESCRIPTION
See how Nginx, PHP and Node.js integrate into the new version of dynaTrace
Citation preview
1 #Perform2014
Make them ready for the enterprise
Nginx, PHP and Node.js Harald Zeitlhofer
Senior Technology Strategist @ Dynatrace
Chris8an Schwarzbauer Chief So=ware Architect @ Dynatrace
2 #Perform2014
Harald Zeitlhofer Senior Technology Strategist @ Dynatrace
Christian Schwarzbauer Chief Software Architect @ Dynatrace
3 #Perform2014
4 #Perform2014
New technologies in Dynatrace!
5 #Perform2014
• Lightweight HTTP server • Fast especially at high load
6 #Perform2014
Leading among top 10.000 websites
7 #Perform2014
8 #Perform2014
• What is it? • Server-side JavaScript
• Running in a Google V8 JavaScript Engine • Integrated HTTP Server
• Why should I use it? What is it good for? • Very easy to create server-side web applications
• You can use JavaScript not only in the browser, but also on the server-side
• Significantly reduces number of threads blocked on IO
• Why is it different? • Event-based, non-blocking IO
• Completely asynchronous (well, almost) • No multi-threading (of user code)
9 #Perform2014
10 #Perform2014
Database Browser Java Applica3on
11 #Perform2014
Database Browser Node.js Applica3on
IO Threads
12 #Perform2014
• Old, but emerging • First version 1995 • 2004: PHP5
• Object Oriented Programming, Exception handling, Namespaces
• Extensions for XML and DOM handling
• PHP Archives (PHAR)
• Testing framework PHPUnit
13 #Perform2014
14 #Perform2014
15 #Perform2014
• Apache Module LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
• CGI • Fast-CGI
• PHP-FPM • Integration with Nginx
Integration
16 #Perform2014
Integration!
17 #Perform2014
Dynatrace architecture Database
Performance Warehouse
Dynatrace Collector
Dynatrace Server
Dynatrace Clients
18 #Perform2014
Dynatrace architecture Database
Performance Warehouse
Dynatrace Collector
Dynatrace Server
Dynatrace Clients
19 #Perform2014
• Load agent via LD_PRELOAD
20 #Perform2014
try { require('/opt/dynatrace/agent/conf/nodejsagent'); } catch (err) { console.log("ERROR! Can't find the nodejs agent!", err); }
• Load agent in index.js
21 #Perform2014
• Load agent in php.ini
22 #Perform2014
Let’s see how that fits together!
23 #Perform2014
Live demo
24 #Perform2014
Talking about Dynatrace versions …
dynaTrace 5.5
dynaTrace 6.0
Dynatrace 6.1
25 #Perform2014
• Easy integration into your application • Full end-to-end transaction visibility • Frontrunner in new technologies • Your feedback is very welcome
• Community • Forum
26 #Perform2014
Thank You Harald Zeitlhofer
Senior Technology Strategist @ Dynatrace [email protected]
Chris8an Schwarzbauer Chief So=ware Architect @ Dynatrace
http://bitly.com/dttrial