scalable php

54
Scalable PHP Cal Henderson

Upload: cal-henderson

Post on 16-Apr-2017

4.283 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Scalable PHP

Scalable PHPCal Henderson

Page 2: Scalable PHP

geekSessions 2

Oh hai

Page 3: Scalable PHP

geekSessions 3

Does PHP scale?

Page 4: Scalable PHP

geekSessions 4

Yes!

Page 5: Scalable PHP

geekSessions 5

No!

Page 6: Scalable PHP

geekSessions 6

Stupid question!

Page 7: Scalable PHP

geekSessions 7

Languages don’t scale

Page 8: Scalable PHP

geekSessions 8

Architectures scale

Page 9: Scalable PHP

geekSessions 9

Page 10: Scalable PHP

geekSessions 10

Page 11: Scalable PHP

geekSessions 11

Universe of marshy force. Field senseshallows the hatchery saying Hello,. World!. Hydro. Power spring  sometimes; snowmelt      powers   snowmelt always.

Page 12: Scalable PHP

geekSessions 12

It’s all about the salmon

And trees

Page 13: Scalable PHP

geekSessions 13

But PHP sucks

Page 14: Scalable PHP

geekSessions 14

No namespaces

Page 15: Scalable PHP

geekSessions 15

Random function names

Page 16: Scalable PHP

geekSessions 16

No quantum superpositions

Page 17: Scalable PHP

geekSessions 17

People whining

Page 18: Scalable PHP

geekSessions 18

Best of a bad bunch

Page 19: Scalable PHP

geekSessions 19

Ok, scaling

What makes something

scalable?

Page 20: Scalable PHP

geekSessions 20

Bigger dataset

More traffic

Maintainable

Page 21: Scalable PHP

geekSessions 21

NOT about performance

Page 22: Scalable PHP

geekSessions 22

But PHP is slow!

Page 23: Scalable PHP

geekSessions 23

Page 24: Scalable PHP

geekSessions 24

Who cares?

Page 25: Scalable PHP

geekSessions 25

PHP is not your

bottleneck

Page 26: Scalable PHP

geekSessions 26

More traffic

Push issues down the stack

Page 27: Scalable PHP

geekSessions 27

Horizontal

vs

Vertical

Page 28: Scalable PHP

geekSessions 28

Scale out

vs

Scale up

Page 29: Scalable PHP

geekSessions 29

Scale out (horizontal) ftw

Page 30: Scalable PHP

geekSessions 30

PHP sessions == bad

/var/notshared

Page 31: Scalable PHP

geekSessions 31

Sessions in a DB

Page 32: Scalable PHP

geekSessions 32

Page 33: Scalable PHP

geekSessions 33

No sessions at all

Page 34: Scalable PHP

geekSessions 34

Sessions in cookies

Page 35: Scalable PHP

geekSessions 35

Bigger dataset

Not really a PHP issue

Page 36: Scalable PHP

geekSessions 36

Pass big data by

function foo(&$big){}

reference

Page 37: Scalable PHP

geekSessions 37

Don’t serialize()

big things

Page 38: Scalable PHP

geekSessions 38

All arrays are sparse

So that’s ok

Page 39: Scalable PHP

geekSessions 39

Don’t keep much in

memory

Page 40: Scalable PHP

geekSessions 40

Maintainable

Small logical blocks

include()

Page 41: Scalable PHP

geekSessions 41

Sucks about namespaces

Page 42: Scalable PHP

geekSessions 42

Classes are like namespaces

kinda

Page 43: Scalable PHP

geekSessions 43

Many includes == bad

Page 44: Scalable PHP

geekSessions 44

APC + full paths + nostat == awesome

Page 45: Scalable PHP

geekSessions 45

Set root path via

.htaccess ENV

Or whatever

Page 46: Scalable PHP

geekSessions 46

deploy-time rollups

also good

Page 47: Scalable PHP

geekSessions 47

Consistency

is king

Page 48: Scalable PHP

geekSessions 48

# Comments

# Also useful

# (who knew?)

Page 49: Scalable PHP

geekSessions 49

The bottom line:

PHP is used for

big things

Page 50: Scalable PHP

geekSessions 50

Beauty is lessimportant

Than just working

Page 51: Scalable PHP

geekSessions 51

Photos!• http://flickr.com/photos/isolano/423026153/• http://flickr.com/photos/liberato/171610084/• http://flickr.com/photos/thomashawk/422057690/• http://flickr.com/photos/puja/138469909/• http://flickr.com/photos/stuckincustoms/177496023/• http://flickr.com/photos/maurymccown/289932747/• http://flickr.com/photos/lij/122525716/• http://flickr.com/photos/thomashawk/44667887/• http://flickr.com/photos/mr_fabulous/2033276270/• http://flickr.com/photos/re_verse/58362878/• http://flickr.com/photos/auntiep/3990731/• http://flickr.com/photos/arild_storaas/966725616/• http://flickr.com/photos/magnesaxegaard/1351464888/• http://flickr.com/photos/hughes_leglise/530542920/• http://en.wikipedia.org/wiki/Image:John_McCarthy_Stanford.jpg

Page 52: Scalable PHP

geekSessions 52

Moar Photos!• http://flickr.com/photos/bonnieshulman/566022330/• http://flickr.com/photos/hamed/155343130/• http://flickr.com/photos/pandiyan/186171830/• http://flickr.com/photos/fish_at_taipei/198024832/• http://flickr.com/photos/cdell/472665280/• http://flickr.com/photos/robh/142742990/• http://flickr.com/photos/neilw/204239787/• http://flickr.com/photos/big-e-mr-g/152643684/• http://flickr.com/photos/ozyman/155517365/• http://flickr.com/photos/ucumari/580865728/• http://flickr.com/photos/twob/8741933/• http://flickr.com/photos/ashclements/248887492/• http://flickr.com/photos/mr-outdoorguy/2100813932/• http://flickr.com/photos/good_day/450356635/• http://flickr.com/photos/thomashawk/72597356/

Page 53: Scalable PHP

geekSessions 53

Even Moar Photos!• http://flickr.com/photos/dcjohn/74907741/• http://flickr.com/photos/carplips/439902567/• http://flickr.com/photos/bretarnett/180654760/• http://flickr.com/photos/bunchofpants/27151349/• http://flickr.com/photos/stuckincustoms/870325399/• http://flickr.com/photos/cruzan/84636294/• http://flickr.com/photos/cayusa/384187184/• http://flickr.com/photos/mrclean/371372515/• http://flickr.com/photos/radiofree/113944690/• http://flickr.com/photos/fortphoto/320676608/• http://flickr.com/photos/hurleygurley/4338767/

Page 54: Scalable PHP

find these slides online

iamcal.com/talks