The New York MTA uses Drupal caching to provide real-time transit information to riders. They implemented a Drupal 7 site with heavy caching, including Varnish and contributed modules. Custom modules were developed to integrate real-time transit feeds using the General Transit Feed Specification. Load testing showed the site could handle over 5,000 users per second. The implementation provides riders with up-to-date subway and bus schedules and delays.
How New York's MTA Uses Drupal Caching to Get Riders There on Time
1. How New York’s MTA
Uses Drupal Caching to
Get Riders There on Time
blinkreaction.com
#blinkreaction
2. • who we are and what we do
• significance and context
• project overview
Welcome • project management
• architecture
• technology
• implementation
• resources
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
2
5. Community Training & Support
Flattening the Drupal Learning Cliff
blinkreaction.com/training
6. The
Ocean
Railway
Stephen
Fox,
Harper
Collins
“In
the
autumn
of
1817,
the
Thompsons
and
their
three
associates
placed
a
noBce
in
New
York's
newspapers.
In
order
to
furnish
frequent
and
regular
conveyances
for
GOODS
and
PASSENGERS,
they
announced,
the
subscribers
have
undertaken
to
establish
a
line
of
vessels
between
NEW
YORK
and
LIVERPOOL,
to
sail
from
each
place
on
a
certain
day
in
every
month
throughout
the
year.
Thompson
and
his
partners
were
promising
a
daring
combinaBon
of
speed,
comfort
and
predictability
-‐
qualiBes
previously
unknown
on
the
North
AtlanBc.”
7. The
Ocean
Railway
Stephen
Fox,
Harper
Collins
“In
the
autumn
of
1817,
the
Thompsons
and
their
three
associates
placed
a
noBce
in
New
York's
newspapers.
In
order
to
furnish
frequent
and
regular
conveyances
for
GOODS
and
PASSENGERS,
they
announced,
the
subscribers
have
undertaken
to
establish
a
line
of
vessels
between
NEW
YORK
and
LIVERPOOL,
to
sail
from
each
place
on
a
certain
day
in
every
month
throughout
the
year.
Thompson
and
his
partners
were
promising
a
daring
combinaBon
of
speed,
comfort
and
predictability
-‐
qualiBes
previously
unknown
on
the
North
AtlanBc.”
15. 1960’s
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
15
16. 1970’s
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
16
17. 1980’s
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
17
18.
19.
20. Passengers entering
the subway system:
Average Weekday
2009: 5,086,833
2010: 5,156,913
2011: 5,284,295
Annual Total
2009: 1,579,866,600
2010: 1,604,198,017
2011: 1,640,434,672
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
20
21.
22. Solution
images: mta.org
iconarchive.com
drupal.org
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
22
23.
24. Dashboard & API Key
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
24
25. Pilot
Feeds
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
25
26. Proactive Coordination
RASCI
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
26
28. Implementation at a glance
• Drupal 7
• Varnish
• Heavy caching
• Widely used Contributed modules
• 5 custom modules
• Permissions open, not moderated
• Dynamic real-time feeds via GTFS binary file
• Static feeds via separate GTFS spec file
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
28
29. Edge Side Includes or ESI
… a small markup language for edge level
dynamic web content assembly. The purpose
of ESI is to tackle the problem of web
infrastructure scaling.[1] It is an application
of edge computing.
image from soasta.com
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
29
30. Varnish version 3.03
image from soasta.com
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
30
31. Line feeds portal architecture
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
31
32. SOASTA Distributed Load Testing
image from soasta.com
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
32
33. SOASTA Distributed Load Testing
5,000 users
per second!
image from soasta.com
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
33
34. The Demo ‘App’
Easy
• standalone Drupal 7 Site
• mobile web theme specifically for iPhone
• admin menu, ctools, devel, features, job
scheduler, memcache, strong arm, shield
Not that Easy
No php parser for gtfs files - edited drslump
library - built for php 5.3 using namespaces -
tweeks to make it work on 5.2
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
34
35. General Transit Feed
Spec - Realtime
image from soasta.com
Property of Blink Reaction • CONFIDENTIAL • Do not distribute without permission.
35