Drupal Performance Census - BADCamp 2016
-
Upload
josh-koenig -
Category
Internet
-
view
103 -
download
3
Transcript of Drupal Performance Census - BADCamp 2016
![Page 1: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/1.jpg)
Drupal Performance Census: Live Lessons From Over 2000 Sites
1
![Page 2: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/2.jpg)
Josh Koenig Co-Founder
Head of Productpantheon.io
drupal.org/user/3313@outlandishjosh
2
![Page 3: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/3.jpg)
3
![Page 4: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/4.jpg)
4
Efficient Dev Teams + Elastic Platform
![Page 5: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/5.jpg)
5
![Page 6: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/6.jpg)
6
![Page 7: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/7.jpg)
7
![Page 8: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/8.jpg)
8
![Page 9: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/9.jpg)
9
![Page 10: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/10.jpg)
Pantheon.io
Traditional Hosting
Even “fanatical” support can’t help with your app.Happy to reboot the box!
CMS Support Spectrum: What’s Missing?
10
“IaaS”
On your own vs the Zombie Apocalypse.Good luck!
Managed CMS
Sacrifice developer velocity to “guarantee” the application.Sorry, you can’t deploy that.
![Page 11: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/11.jpg)
Pantheon.io
Traditional Hosting
Even “fanatical” support can’t help with your app.Happy to reboot the box!
CMS Support Spectrum: What’s Missing?
11
“IaaS”
On your own vs the Zombie Apocalypse.Good luck!
Managed CMS
Sacrifice developer velocity to “guarantee” the application.Sorry, you can’t deploy that.
?
![Page 12: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/12.jpg)
12
There’s a better way to do this...
![Page 13: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/13.jpg)
Pantheon.io
New Relic APM Pro: Launched June 26th
13
![Page 14: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/14.jpg)
14
![Page 15: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/15.jpg)
15
![Page 16: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/16.jpg)
16
![Page 17: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/17.jpg)
Pantheon.io
How the Data Flows
17
PHP
new_relic.so
Data Cloudrpm.newrelic.com
Collectornewrelic.daemon
On Pantheon In New Relic
![Page 18: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/18.jpg)
Pantheon.io
What That Looks Like
18
![Page 19: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/19.jpg)
Pantheon.io
New Relic Measures App Execution
19
![Page 20: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/20.jpg)
Pantheon.io
Reverse-Proxy is Effectively Light-Speed
20
![Page 21: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/21.jpg)
Pantheon.io
This Is Where The APM Action Is
21
![Page 22: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/22.jpg)
22
![Page 23: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/23.jpg)
23
![Page 24: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/24.jpg)
24
![Page 25: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/25.jpg)
25
![Page 26: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/26.jpg)
26
![Page 27: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/27.jpg)
Get the Data Already!
27
![Page 28: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/28.jpg)
Pantheon.io
Census Methodology
● Actual Population: ~2000 sites ~3M transactions
● Mid-day one-hour data samples
● Queried out of New Relic’s API and then stored in MySQL
● Data Captured:
⌾ Total Throughput & response time
⌾ Query count & response time
⌾ External call count & response time
⌾ Views call count & response time
28
![Page 29: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/29.jpg)
29
![Page 30: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/30.jpg)
30
Only the names have been changed, to protect the innocent.
Just the facts, maam. Just the facts.
![Page 31: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/31.jpg)
Pantheon.io
On Average: pretty good!
31
![Page 32: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/32.jpg)
Pantheon.io
On Average: pretty good!
32
![Page 33: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/33.jpg)
Pantheon.io
But… Painfully Slow at Times
33
![Page 34: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/34.jpg)
Pantheon.io
Throughput and Performance Correlate
34
![Page 35: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/35.jpg)
Pantheon.io
I/O is Still The Big Pain Point
> SELECT name, call_count, average_response_time, nrm.max_response_time FROM New_relic_metrics WHERE application_id = 513593
+-------------------------+------------+-----------------------+-------------------+| name | call_count | average_response_time | max_response_time |+-------------------------+------------+-----------------------+-------------------+| WebTransactionTotalTime | 4628 | 2570 | 426000.0000 || External/all | 7236 | 317 | 5000.0000 || Datastore/MySQL/all | 858749 | 1 | 1120.0000 || Datastore/Redis/all | 1757799 | 1 | 426.0000 |+-------------------------+------------+-----------------------+-------------------+
35
![Page 36: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/36.jpg)
Pantheon.io
Views Isn’t a Kiss of Death
36
![Page 37: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/37.jpg)
Pantheon.io
Views Isn’t a Kiss of Death
37
![Page 38: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/38.jpg)
Pantheon.io
Views Isn’t a Kiss of Death
38
![Page 39: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/39.jpg)
Pantheon.io
SQL Queries vs Avg Page Response
39
![Page 40: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/40.jpg)
40
![Page 41: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/41.jpg)
Pantheon.io
External API Calls
41
![Page 42: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/42.jpg)
Pantheon.io
External API Calls
42
![Page 43: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/43.jpg)
43
![Page 44: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/44.jpg)
44
![Page 45: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/45.jpg)
Pantheon.io
Long Loops and PHP Can Also Kill You
45
● Page responses 30s +
● No significant DB activity
● No web external calls
● ??????
● Stack trace shows lots of calls to form cache
● One REST API endpoint rendering ~1500 nodes (including building edit forms)
![Page 46: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/46.jpg)
Looking Ahead
46
![Page 47: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/47.jpg)
Pantheon.io
PHP 7 is Full of Win
47
![Page 48: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/48.jpg)
Pantheon.io
PHP 7 is Full of Win
48
![Page 49: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/49.jpg)
Pantheon.io
LCache is (potentially) full of win
49
![Page 50: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/50.jpg)
Pantheon.io
LCache is (potentially) full of win
50
![Page 51: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/51.jpg)
Pantheon.io
● Gather more data on Drupal 8
● Identifying modules associated w/slowness
● Build/measure/learn on core improvements
Future Data Spelunking
51
![Page 52: Drupal Performance Census - BADCamp 2016](https://reader033.fdocuments.us/reader033/viewer/2022051523/58ee84911a28aba0218b457b/html5/thumbnails/52.jpg)
Questions?
52