SlideShare a Scribd company logo
Planning for
performance
For web developer, open discussion


                Tin@Beijing Open Party
Teachers do not have to
   be stronger than
themselves? Already do
  not have as good as
        teacher
Agenda

Basic programming practice
Hardware platform
Software platform
System essentials
Optimizations
Load Balancing
Basic practices

Use proper SCM
 CVS
 SVN
 Mercurial
 Git
Basic practices

Use a auto-build system
 Shell scrips
 Make
 Ant, Nant
 Rake
Basic practices
Use a Continues Integration tool
 So first you need a lot of tests
 Add auto test, compile job as daily task
 Use CI tools to monitor health of your code
 base
   CruiseControl, Luntbuild, Continnum,
   Hudson
   Cruise, Teamcity, Banboo
 Use cc-tray, cc-menu desktop widget
Basic practices

Use a issue tracker
 Trac (only svn)
 Bugzilla, Mantis Bug Tracker
 Jira
 Mingle
 BugFree
Voice from twitter

Be sure to test! Be sure to earlier test! Be sure
to earlier test! Otherwise, you're dead.
Any part test.
Performance testing to be handed over to the
user to do. As makes sense. So to do well log.
Basic practices

Lifecycle control
  Develop -> Test -> Deploy
Release management
  Trunk, Branch, Tag
  Milestone, Release candicate
Basic practices

Use Agile methodologies
 XP practices
   TDD
   Pair programming
 Scrum
 Hybrid agile
Hardware platform

Use economical hardware
 CPU and Memory
 Disk and disk I/O (Raid)
 NIC
 Power and fan
 1U 2U 3U 4U ?
Hardware platform
Brand
 Dell, IBM, HP, Lenovo, Asus?
 Service quality
Hardware redundancy
 Part redundancy
 Availability and Lead Time (critical parts)
 Capacity redundancy
 Future plan?
Network & hosting
VPS, 虚拟主机
Co-Located Hardware (colo), 主机托管
 Bandwidth, Duel lines, air-condition
 Geo-location
Self-Hosting
How to choose network hardware
(switch/router)?
 Cisco, Huaway, Foundry
Software platform

Use pre-compiled OS and software
Choose a OS
 CentOS, Redhat, Suse
 Freebsd
 Solaris
 no ubuntu server (from nicholas ding)
Software platform
Choose a language (scriptiing language is
better)
 PHP
 Python
 Perl
 Ruby
 Java
 Many many many... but not c...
Software platform

Choose a database ( or data provider)
 Mysql
 Posgresql
 Big table implementation?
Now, let’s go
System essentials
Web server
 Apache
 Lighthttpd
 Nginx
 Tux, Cherokee, Lightspeed
 Tomcat, Jetty
 Mongrel, Thin
System essentials
Different deployment style (python/ruby)
 Apache + mod_python (mod_rails,
 passenger)
 Fastcgi, SCGI, CGI
 Proxy (Load balancing) + Multi-server
 instance
 thread? process?
System essentials

Monitoring your system
 web server logs
   Webalizer, Report Magic
   Beacon (seperate static file server tracker)
   error log analysis
 AWStats & Google Analytics
System essentials
Monitoring your system
 Monit (RubyWorks use runit)
   Monitoring process status
   Auto restart your important process
   Better than cron for monitoring
 Munin & Nagios
   Distributed monitoring all of your system
   Administrator’s eyes, developers friends
System essentials
 Munin & Nagios continues
   Munin has server and nodes, it generate
   sites to report the statistics of your server
   (in interval)
   Munin and Nagios and integrate
     Mem usage, CPU, process, disk usage
     Service: HTTP, SMTP, POP3, NNTP, Ping
     Hardware temperature and other datas
     Network statistics
     Custom scrips (plugins): db related, user
     number
Systemsystem (
 Protect your
              essentialsManagement is important than
 tools)

   SSH brute attack protection
      ssh key login
      blockhost (scripts + pf/iptables)
   Audit: SELinux...
   Firewall (port block and audit)
   Use safe OS? (Netbsd, freebsd)
   Network safety (but no hardware firewall for
   websites)
System essentials
SNA (Share Nothing Architecture) (This is
relative term)
 All static file and rsync
 Database centric SNA
 Memcached + db-persistence
 Server hash, cluster, partition
 Amazon/Blogger/Cragslist/Facebook/Google
 /LiveJournal/Slashdot/Wikipedia/Yahoo/YouT
 ube
Session sticky
System essentials

Make your modules independent
 Layers, packages
 Easy to replace module
 Easy to deploy
 Easy to profile and make improves
Optimizations dynamic content
 Split your static content and
 server
  Use lightweight web server to server static
  contents
  Use different domain to different server
 Caching
  Memcached
    Query result, domain objects, sessions
    Page tiles, template tiles
    Everything that you need
Optimizations
Caching
  Optimize your code (lazy evaluate, cache
  result)
  Cache and asynchronous update (cron
  update)
  Target, the hit rate of 90% or more ! Target
  90%+
  But cache invalidation is a critical problem!
  Asynchronous messaging make sure cache
  validate
    No blocking!
Optimizations
Caching
 Better client side caching
   Use expired header: max-age, expired
   E-tag? (Not recommended, IE doesn’t
   support it)
   Use HEAD method and 301 to detect changes
   (for squid or other proxy scenarios)
   Compress (contact js, css)
Optimizations
SQL optimizations
 Add index (especially the column in where
 closure)
 De-normalized SQL
   Useful redundancy (use duplication avoid join)
 Don’t relay on ORM. No matter Data-
 mapper/Active Record/Unit Of Work
 Don’t use full-text search
   Use seperate search engine module (lucene)
Optimizations
Choose proper database store engine
 Mysql: MyISAM? InnoDB? BDB? Heap?
Accelerator
 PHP: APC, Zend Optimizer, XCache,
 eAccelerator, ionCube PHP Accelerator,
 Turck MMCache
 Python: psyco
 Ruby: Joyent accelerator
But most important thing:
Find out the bottle neck
before you start to
optimize your
application.
Next,
  Scaling,
If time is enough
What is scaling?

Three basics, 简单特性 :
 能够使用率的提高 , Useable capacity increasing
 能够容纳数据集提高, Data capacity increasing
 系统可维护, Maintainable
Scaling, 2 ways
Vertical Scaling
  Upgrade your hardware system
    More CPU, memory ....
Horizontal Scaling
  Buy more same hardware, deploy more server
  instance
  Distributed your system
  But this way need you modify your code
  (generally)
Scaling-Load Balancing
 DNS-GSLB
 Use DNS’s round-robin algorithm randomize
 IP result
   xBayDNS
 Can’t deal with failure (TTL)
 Hard to do accurate management
CDN content delivery network
 transparent service provide by some
 company
 expansive, and not suitable for dynamic
 content
Scaling-Load Balancing
Hardware LB
 Citrix: Netscalers, Foundry: ServerIron, F5 (4-
 7)
 Expensive
Software LB
 Perlbal (4), Pound (7)
 LVS (4)
Scaling-Load Balancing
Layer2, Layer4 and Layer7 LB
 Layer 2: Link aggregation, provide
 redundancy and fault tolerance, improve
 access speed
 Layer 4: round-robin on TCP (with port info)
 Layer 7
   Session sticky enalbed
   Easy to write complicate hash logic
   Good for Squid (Squid cluster enabled)
Scaling-Load Balancing
Huge Scale LB
 GSLB -> DNS round robin
 Virtual IP -> L4 or L7 LB (SNAT)
 Example
   Level 1 LB use GSLB give geo-located DNS
   result
   VIP is dispatched by F5
   F5 -> Squid, reverse proxy
   Squid delegate real dynamic or static server
Scaling-Proxy Cache

Reverse proxy
 Squid
   Use http head method to validate content
   Use memory to cache content - light speed
   Mature, fast, industry standard
Scaling-Database

Scaling MySQL
 MySQL replication/duplication (Failure, Lag)
   Master/Slave
   Tree replication
 Data partition
   MySQL proxy
 Data shard
Scaling-File System
 Single Disk (Array)
 Raid 1, Raid 0, Raid5
 Partition table type (GPT, MBR)
 Partition Format (ext2, ext3, resierfs, XFS,
 ZFS)
Cluster
 Single Disk has limitation, but Cluster has no
 limit
 NetApp Filer (NAS - Network-attached
 storage)
 Many many choices
Scaling-File System
Sharing
Hardware based sharing NAS (previous page)
NFS - most simple way to share FS
Samba - almost same with NFS, nice to try
MogileFS (for web, no cursor based random
access)
GFS, Hadoop FS (chunk based)
We are coming a long way, baby
Thanks!
Ad

More Related Content

What's hot (18)

Supercharging your PHP pages with mod_lsapi in CloudLinux OS
Supercharging your PHP pages with mod_lsapi in CloudLinux OSSupercharging your PHP pages with mod_lsapi in CloudLinux OS
Supercharging your PHP pages with mod_lsapi in CloudLinux OS
CloudLinux
 
How lve stats2 works for you and your customers
How lve stats2 works for you and your customersHow lve stats2 works for you and your customers
How lve stats2 works for you and your customers
CloudLinux
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
Tommy Lee
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
Nuxeo
 
etcd based PostgreSQL HA Cluster
etcd based PostgreSQL HA Clusteretcd based PostgreSQL HA Cluster
etcd based PostgreSQL HA Cluster
winsletts
 
Shootout at the AWS Corral
Shootout at the AWS CorralShootout at the AWS Corral
Shootout at the AWS Corral
PostgreSQL Experts, Inc.
 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on aws
Emanuel Calvo
 
Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)
Payal Singh
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Ontico
 
Nagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMA
Nagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMANagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMA
Nagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMA
Nagios
 
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with NagiosNagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios
 
/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository
Jukka Zitting
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
supertom
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
Luis Cabaceira
 
High Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDBHigh Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDB
Gareth Davies
 
Hawkular overview
Hawkular overviewHawkular overview
Hawkular overview
Ted Won
 
High Performance Wordpress
High Performance WordpressHigh Performance Wordpress
High Performance Wordpress
Gareth Davies
 
Как PostgreSQL работает с диском
Как PostgreSQL работает с дискомКак PostgreSQL работает с диском
Как PostgreSQL работает с диском
PostgreSQL-Consulting
 
Supercharging your PHP pages with mod_lsapi in CloudLinux OS
Supercharging your PHP pages with mod_lsapi in CloudLinux OSSupercharging your PHP pages with mod_lsapi in CloudLinux OS
Supercharging your PHP pages with mod_lsapi in CloudLinux OS
CloudLinux
 
How lve stats2 works for you and your customers
How lve stats2 works for you and your customersHow lve stats2 works for you and your customers
How lve stats2 works for you and your customers
CloudLinux
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
Tommy Lee
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
Nuxeo
 
etcd based PostgreSQL HA Cluster
etcd based PostgreSQL HA Clusteretcd based PostgreSQL HA Cluster
etcd based PostgreSQL HA Cluster
winsletts
 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on aws
Emanuel Calvo
 
Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)
Payal Singh
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Ontico
 
Nagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMA
Nagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMANagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMA
Nagios Conference 2014 - Troy Lea - Monitoring VMware Virtualization Using vMA
Nagios
 
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with NagiosNagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios
 
/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository
Jukka Zitting
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
supertom
 
High Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDBHigh Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDB
Gareth Davies
 
Hawkular overview
Hawkular overviewHawkular overview
Hawkular overview
Ted Won
 
High Performance Wordpress
High Performance WordpressHigh Performance Wordpress
High Performance Wordpress
Gareth Davies
 
Как PostgreSQL работает с диском
Как PostgreSQL работает с дискомКак PostgreSQL работает с диском
Как PostgreSQL работает с диском
PostgreSQL-Consulting
 

Viewers also liked (9)

Signature power point
Signature power pointSignature power point
Signature power point
Krystie Rene
 
Revista
RevistaRevista
Revista
LVGG
 
Install log
Install logInstall log
Install log
LVGG
 
Trabalho de Matemática
Trabalho de MatemáticaTrabalho de Matemática
Trabalho de Matemática
Pedro Scovino
 
Reforma educación
Reforma educaciónReforma educación
Reforma educación
Francisco FC
 
Guia de de los Consejos Técnicos Escolares
Guia de de los Consejos Técnicos EscolaresGuia de de los Consejos Técnicos Escolares
Guia de de los Consejos Técnicos Escolares
Francisco FC
 
P7 advance auditing and assurance
P7 advance auditing and assuranceP7 advance auditing and assurance
P7 advance auditing and assurance
Jay Pro
 
Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)
Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)
Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)
Nguyễn Duy Nhân
 
Báo cáo Thương mại điện tử Việt Nam năm 2015
Báo cáo Thương mại điện tử Việt Nam năm 2015Báo cáo Thương mại điện tử Việt Nam năm 2015
Báo cáo Thương mại điện tử Việt Nam năm 2015
Nguyễn Duy Nhân
 
Signature power point
Signature power pointSignature power point
Signature power point
Krystie Rene
 
Revista
RevistaRevista
Revista
LVGG
 
Install log
Install logInstall log
Install log
LVGG
 
Trabalho de Matemática
Trabalho de MatemáticaTrabalho de Matemática
Trabalho de Matemática
Pedro Scovino
 
Reforma educación
Reforma educaciónReforma educación
Reforma educación
Francisco FC
 
Guia de de los Consejos Técnicos Escolares
Guia de de los Consejos Técnicos EscolaresGuia de de los Consejos Técnicos Escolares
Guia de de los Consejos Técnicos Escolares
Francisco FC
 
P7 advance auditing and assurance
P7 advance auditing and assuranceP7 advance auditing and assurance
P7 advance auditing and assurance
Jay Pro
 
Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)
Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)
Hành vi mua sắm chuẩn bị đón tết Nguyên Đán của người dùng Việt 06/2011(eng)
Nguyễn Duy Nhân
 
Báo cáo Thương mại điện tử Việt Nam năm 2015
Báo cáo Thương mại điện tử Việt Nam năm 2015Báo cáo Thương mại điện tử Việt Nam năm 2015
Báo cáo Thương mại điện tử Việt Nam năm 2015
Nguyễn Duy Nhân
 
Ad

Similar to Planning for-high-performance-web-application (20)

Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
Ashok Modi
 
Experience In Building Scalable Web Sites Through Infrastructure's View
Experience In Building Scalable Web Sites Through Infrastructure's ViewExperience In Building Scalable Web Sites Through Infrastructure's View
Experience In Building Scalable Web Sites Through Infrastructure's View
Phuwadon D
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
Ashok Modi
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez
 
WE18_Performance_Up.ppt
WE18_Performance_Up.pptWE18_Performance_Up.ppt
WE18_Performance_Up.ppt
webhostingguy
 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
MagentoImagine
 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
varien
 
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
javier ramirez
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
Bob Ward
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Bhupesh Bansal
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedIn
Hadoop User Group
 
Open ebs 101
Open ebs 101Open ebs 101
Open ebs 101
LibbySchulze
 
Monitoring shootout loadays
Monitoring shootout loadaysMonitoring shootout loadays
Monitoring shootout loadays
tomdc
 
MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011
Mike Willbanks
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin
Kuberton
 
Server Monitoring (Scaling while bootstrapped)
Server Monitoring  (Scaling while bootstrapped)Server Monitoring  (Scaling while bootstrapped)
Server Monitoring (Scaling while bootstrapped)
Ajibola Aiyedogbon
 
Nagios Conference 2011 - Daniel Wittenberg - Scaling Nagios At A Giant Insur...
Nagios Conference 2011 - Daniel Wittenberg -  Scaling Nagios At A Giant Insur...Nagios Conference 2011 - Daniel Wittenberg -  Scaling Nagios At A Giant Insur...
Nagios Conference 2011 - Daniel Wittenberg - Scaling Nagios At A Giant Insur...
Nagios
 
Compass first meetup
Compass first meetupCompass first meetup
Compass first meetup
Shuo Yang
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
Brian Aker
 
Performance_Up.ppt
Performance_Up.pptPerformance_Up.ppt
Performance_Up.ppt
webhostingguy
 
Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
Ashok Modi
 
Experience In Building Scalable Web Sites Through Infrastructure's View
Experience In Building Scalable Web Sites Through Infrastructure's ViewExperience In Building Scalable Web Sites Through Infrastructure's View
Experience In Building Scalable Web Sites Through Infrastructure's View
Phuwadon D
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
Ashok Modi
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez
 
WE18_Performance_Up.ppt
WE18_Performance_Up.pptWE18_Performance_Up.ppt
WE18_Performance_Up.ppt
webhostingguy
 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
MagentoImagine
 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
varien
 
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
javier ramirez
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
Bob Ward
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Bhupesh Bansal
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedIn
Hadoop User Group
 
Monitoring shootout loadays
Monitoring shootout loadaysMonitoring shootout loadays
Monitoring shootout loadays
tomdc
 
MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011
Mike Willbanks
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin
Kuberton
 
Server Monitoring (Scaling while bootstrapped)
Server Monitoring  (Scaling while bootstrapped)Server Monitoring  (Scaling while bootstrapped)
Server Monitoring (Scaling while bootstrapped)
Ajibola Aiyedogbon
 
Nagios Conference 2011 - Daniel Wittenberg - Scaling Nagios At A Giant Insur...
Nagios Conference 2011 - Daniel Wittenberg -  Scaling Nagios At A Giant Insur...Nagios Conference 2011 - Daniel Wittenberg -  Scaling Nagios At A Giant Insur...
Nagios Conference 2011 - Daniel Wittenberg - Scaling Nagios At A Giant Insur...
Nagios
 
Compass first meetup
Compass first meetupCompass first meetup
Compass first meetup
Shuo Yang
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
Brian Aker
 
Ad

More from Nguyễn Duy Nhân (20)

Chính sách quảng cáo FaceBook 2017: Dược phẩm
Chính sách quảng cáo FaceBook 2017: Dược phẩmChính sách quảng cáo FaceBook 2017: Dược phẩm
Chính sách quảng cáo FaceBook 2017: Dược phẩm
Nguyễn Duy Nhân
 
Chính sách quảng cáo chung FaceBook 2017
Chính sách quảng cáo chung FaceBook 2017Chính sách quảng cáo chung FaceBook 2017
Chính sách quảng cáo chung FaceBook 2017
Nguyễn Duy Nhân
 
Nghiên cứu hành vi người tiêu dùng Việt Nam
Nghiên cứu hành vi người tiêu dùng Việt NamNghiên cứu hành vi người tiêu dùng Việt Nam
Nghiên cứu hành vi người tiêu dùng Việt Nam
Nguyễn Duy Nhân
 
Cách lập kế hoạch Marketing
Cách lập kế hoạch MarketingCách lập kế hoạch Marketing
Cách lập kế hoạch Marketing
Nguyễn Duy Nhân
 
170 kĩ thuật giật tít cho bài viết
170 kĩ thuật giật tít cho bài viết170 kĩ thuật giật tít cho bài viết
170 kĩ thuật giật tít cho bài viết
Nguyễn Duy Nhân
 
Enterprise Web Analytics Platforms 2015
Enterprise Web Analytics Platforms 2015Enterprise Web Analytics Platforms 2015
Enterprise Web Analytics Platforms 2015
Nguyễn Duy Nhân
 
Tài liệu về hành vi sử dụng smartphone 2014
Tài liệu về hành vi sử dụng smartphone 2014Tài liệu về hành vi sử dụng smartphone 2014
Tài liệu về hành vi sử dụng smartphone 2014
Nguyễn Duy Nhân
 
Báo cáo về thói quen mua hàng và quảng cáo online 2014
Báo cáo về thói quen mua hàng và quảng cáo online 2014Báo cáo về thói quen mua hàng và quảng cáo online 2014
Báo cáo về thói quen mua hàng và quảng cáo online 2014
Nguyễn Duy Nhân
 
Khác biệt hay là chết - Ebook Marketing
Khác biệt hay là chết - Ebook MarketingKhác biệt hay là chết - Ebook Marketing
Khác biệt hay là chết - Ebook Marketing
Nguyễn Duy Nhân
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big Data
Nguyễn Duy Nhân
 
Hướng dẫn tự học Linux
Hướng dẫn tự học LinuxHướng dẫn tự học Linux
Hướng dẫn tự học Linux
Nguyễn Duy Nhân
 
Tổng quan tmđt tại mỹ phần 2
Tổng quan tmđt tại mỹ phần 2Tổng quan tmđt tại mỹ phần 2
Tổng quan tmđt tại mỹ phần 2
Nguyễn Duy Nhân
 
Tổng quan tmđt tại mỹ phần 1
Tổng quan tmđt tại mỹ phần 1Tổng quan tmđt tại mỹ phần 1
Tổng quan tmđt tại mỹ phần 1
Nguyễn Duy Nhân
 
Báo cáo thương mại điện tử VN năm 2013
Báo cáo thương mại điện tử VN năm 2013Báo cáo thương mại điện tử VN năm 2013
Báo cáo thương mại điện tử VN năm 2013
Nguyễn Duy Nhân
 
SESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will Lì
SESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will LìSESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will Lì
SESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will Lì
Nguyễn Duy Nhân
 
Tài liệu SEO LITADO
Tài liệu SEO LITADOTài liệu SEO LITADO
Tài liệu SEO LITADO
Nguyễn Duy Nhân
 
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn HàSEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
Nguyễn Duy Nhân
 
Tài liệu SEO cho MOBILE (English)
Tài liệu SEO cho MOBILE (English)Tài liệu SEO cho MOBILE (English)
Tài liệu SEO cho MOBILE (English)
Nguyễn Duy Nhân
 
Chính sách quảng cáo FaceBook 2017: Dược phẩm
Chính sách quảng cáo FaceBook 2017: Dược phẩmChính sách quảng cáo FaceBook 2017: Dược phẩm
Chính sách quảng cáo FaceBook 2017: Dược phẩm
Nguyễn Duy Nhân
 
Chính sách quảng cáo chung FaceBook 2017
Chính sách quảng cáo chung FaceBook 2017Chính sách quảng cáo chung FaceBook 2017
Chính sách quảng cáo chung FaceBook 2017
Nguyễn Duy Nhân
 
Nghiên cứu hành vi người tiêu dùng Việt Nam
Nghiên cứu hành vi người tiêu dùng Việt NamNghiên cứu hành vi người tiêu dùng Việt Nam
Nghiên cứu hành vi người tiêu dùng Việt Nam
Nguyễn Duy Nhân
 
Cách lập kế hoạch Marketing
Cách lập kế hoạch MarketingCách lập kế hoạch Marketing
Cách lập kế hoạch Marketing
Nguyễn Duy Nhân
 
170 kĩ thuật giật tít cho bài viết
170 kĩ thuật giật tít cho bài viết170 kĩ thuật giật tít cho bài viết
170 kĩ thuật giật tít cho bài viết
Nguyễn Duy Nhân
 
Enterprise Web Analytics Platforms 2015
Enterprise Web Analytics Platforms 2015Enterprise Web Analytics Platforms 2015
Enterprise Web Analytics Platforms 2015
Nguyễn Duy Nhân
 
Tài liệu về hành vi sử dụng smartphone 2014
Tài liệu về hành vi sử dụng smartphone 2014Tài liệu về hành vi sử dụng smartphone 2014
Tài liệu về hành vi sử dụng smartphone 2014
Nguyễn Duy Nhân
 
Báo cáo về thói quen mua hàng và quảng cáo online 2014
Báo cáo về thói quen mua hàng và quảng cáo online 2014Báo cáo về thói quen mua hàng và quảng cáo online 2014
Báo cáo về thói quen mua hàng và quảng cáo online 2014
Nguyễn Duy Nhân
 
Khác biệt hay là chết - Ebook Marketing
Khác biệt hay là chết - Ebook MarketingKhác biệt hay là chết - Ebook Marketing
Khác biệt hay là chết - Ebook Marketing
Nguyễn Duy Nhân
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big Data
Nguyễn Duy Nhân
 
Hướng dẫn tự học Linux
Hướng dẫn tự học LinuxHướng dẫn tự học Linux
Hướng dẫn tự học Linux
Nguyễn Duy Nhân
 
Tổng quan tmđt tại mỹ phần 2
Tổng quan tmđt tại mỹ phần 2Tổng quan tmđt tại mỹ phần 2
Tổng quan tmđt tại mỹ phần 2
Nguyễn Duy Nhân
 
Tổng quan tmđt tại mỹ phần 1
Tổng quan tmđt tại mỹ phần 1Tổng quan tmđt tại mỹ phần 1
Tổng quan tmđt tại mỹ phần 1
Nguyễn Duy Nhân
 
Báo cáo thương mại điện tử VN năm 2013
Báo cáo thương mại điện tử VN năm 2013Báo cáo thương mại điện tử VN năm 2013
Báo cáo thương mại điện tử VN năm 2013
Nguyễn Duy Nhân
 
SESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will Lì
SESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will LìSESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will Lì
SESOMO 2013: VÀI VẤN ĐỀ CHIA SẺ VỀ SOCIAL MEDIA - Will Lì
Nguyễn Duy Nhân
 
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn HàSEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
Nguyễn Duy Nhân
 
Tài liệu SEO cho MOBILE (English)
Tài liệu SEO cho MOBILE (English)Tài liệu SEO cho MOBILE (English)
Tài liệu SEO cho MOBILE (English)
Nguyễn Duy Nhân
 

Recently uploaded (20)

Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 

Planning for-high-performance-web-application

  • 1. Planning for performance For web developer, open discussion Tin@Beijing Open Party
  • 2. Teachers do not have to be stronger than themselves? Already do not have as good as teacher
  • 3. Agenda Basic programming practice Hardware platform Software platform System essentials Optimizations Load Balancing
  • 4. Basic practices Use proper SCM CVS SVN Mercurial Git
  • 5. Basic practices Use a auto-build system Shell scrips Make Ant, Nant Rake
  • 6. Basic practices Use a Continues Integration tool So first you need a lot of tests Add auto test, compile job as daily task Use CI tools to monitor health of your code base CruiseControl, Luntbuild, Continnum, Hudson Cruise, Teamcity, Banboo Use cc-tray, cc-menu desktop widget
  • 7. Basic practices Use a issue tracker Trac (only svn) Bugzilla, Mantis Bug Tracker Jira Mingle BugFree
  • 8. Voice from twitter Be sure to test! Be sure to earlier test! Be sure to earlier test! Otherwise, you're dead. Any part test. Performance testing to be handed over to the user to do. As makes sense. So to do well log.
  • 9. Basic practices Lifecycle control Develop -> Test -> Deploy Release management Trunk, Branch, Tag Milestone, Release candicate
  • 10. Basic practices Use Agile methodologies XP practices TDD Pair programming Scrum Hybrid agile
  • 11. Hardware platform Use economical hardware CPU and Memory Disk and disk I/O (Raid) NIC Power and fan 1U 2U 3U 4U ?
  • 12. Hardware platform Brand Dell, IBM, HP, Lenovo, Asus? Service quality Hardware redundancy Part redundancy Availability and Lead Time (critical parts) Capacity redundancy Future plan?
  • 13. Network & hosting VPS, 虚拟主机 Co-Located Hardware (colo), 主机托管 Bandwidth, Duel lines, air-condition Geo-location Self-Hosting How to choose network hardware (switch/router)? Cisco, Huaway, Foundry
  • 14. Software platform Use pre-compiled OS and software Choose a OS CentOS, Redhat, Suse Freebsd Solaris no ubuntu server (from nicholas ding)
  • 15. Software platform Choose a language (scriptiing language is better) PHP Python Perl Ruby Java Many many many... but not c...
  • 16. Software platform Choose a database ( or data provider) Mysql Posgresql Big table implementation?
  • 18. System essentials Web server Apache Lighthttpd Nginx Tux, Cherokee, Lightspeed Tomcat, Jetty Mongrel, Thin
  • 19. System essentials Different deployment style (python/ruby) Apache + mod_python (mod_rails, passenger) Fastcgi, SCGI, CGI Proxy (Load balancing) + Multi-server instance thread? process?
  • 20. System essentials Monitoring your system web server logs Webalizer, Report Magic Beacon (seperate static file server tracker) error log analysis AWStats & Google Analytics
  • 21. System essentials Monitoring your system Monit (RubyWorks use runit) Monitoring process status Auto restart your important process Better than cron for monitoring Munin & Nagios Distributed monitoring all of your system Administrator’s eyes, developers friends
  • 22. System essentials Munin & Nagios continues Munin has server and nodes, it generate sites to report the statistics of your server (in interval) Munin and Nagios and integrate Mem usage, CPU, process, disk usage Service: HTTP, SMTP, POP3, NNTP, Ping Hardware temperature and other datas Network statistics Custom scrips (plugins): db related, user number
  • 23. Systemsystem ( Protect your essentialsManagement is important than tools) SSH brute attack protection ssh key login blockhost (scripts + pf/iptables) Audit: SELinux... Firewall (port block and audit) Use safe OS? (Netbsd, freebsd) Network safety (but no hardware firewall for websites)
  • 24. System essentials SNA (Share Nothing Architecture) (This is relative term) All static file and rsync Database centric SNA Memcached + db-persistence Server hash, cluster, partition Amazon/Blogger/Cragslist/Facebook/Google /LiveJournal/Slashdot/Wikipedia/Yahoo/YouT ube Session sticky
  • 25. System essentials Make your modules independent Layers, packages Easy to replace module Easy to deploy Easy to profile and make improves
  • 26. Optimizations dynamic content Split your static content and server Use lightweight web server to server static contents Use different domain to different server Caching Memcached Query result, domain objects, sessions Page tiles, template tiles Everything that you need
  • 27. Optimizations Caching Optimize your code (lazy evaluate, cache result) Cache and asynchronous update (cron update) Target, the hit rate of 90% or more ! Target 90%+ But cache invalidation is a critical problem! Asynchronous messaging make sure cache validate No blocking!
  • 28. Optimizations Caching Better client side caching Use expired header: max-age, expired E-tag? (Not recommended, IE doesn’t support it) Use HEAD method and 301 to detect changes (for squid or other proxy scenarios) Compress (contact js, css)
  • 29. Optimizations SQL optimizations Add index (especially the column in where closure) De-normalized SQL Useful redundancy (use duplication avoid join) Don’t relay on ORM. No matter Data- mapper/Active Record/Unit Of Work Don’t use full-text search Use seperate search engine module (lucene)
  • 30. Optimizations Choose proper database store engine Mysql: MyISAM? InnoDB? BDB? Heap? Accelerator PHP: APC, Zend Optimizer, XCache, eAccelerator, ionCube PHP Accelerator, Turck MMCache Python: psyco Ruby: Joyent accelerator
  • 31. But most important thing: Find out the bottle neck before you start to optimize your application.
  • 32. Next, Scaling, If time is enough
  • 33. What is scaling? Three basics, 简单特性 : 能够使用率的提高 , Useable capacity increasing 能够容纳数据集提高, Data capacity increasing 系统可维护, Maintainable
  • 34. Scaling, 2 ways Vertical Scaling Upgrade your hardware system More CPU, memory .... Horizontal Scaling Buy more same hardware, deploy more server instance Distributed your system But this way need you modify your code (generally)
  • 35. Scaling-Load Balancing DNS-GSLB Use DNS’s round-robin algorithm randomize IP result xBayDNS Can’t deal with failure (TTL) Hard to do accurate management CDN content delivery network transparent service provide by some company expansive, and not suitable for dynamic content
  • 36. Scaling-Load Balancing Hardware LB Citrix: Netscalers, Foundry: ServerIron, F5 (4- 7) Expensive Software LB Perlbal (4), Pound (7) LVS (4)
  • 37. Scaling-Load Balancing Layer2, Layer4 and Layer7 LB Layer 2: Link aggregation, provide redundancy and fault tolerance, improve access speed Layer 4: round-robin on TCP (with port info) Layer 7 Session sticky enalbed Easy to write complicate hash logic Good for Squid (Squid cluster enabled)
  • 38. Scaling-Load Balancing Huge Scale LB GSLB -> DNS round robin Virtual IP -> L4 or L7 LB (SNAT) Example Level 1 LB use GSLB give geo-located DNS result VIP is dispatched by F5 F5 -> Squid, reverse proxy Squid delegate real dynamic or static server
  • 39. Scaling-Proxy Cache Reverse proxy Squid Use http head method to validate content Use memory to cache content - light speed Mature, fast, industry standard
  • 40. Scaling-Database Scaling MySQL MySQL replication/duplication (Failure, Lag) Master/Slave Tree replication Data partition MySQL proxy Data shard
  • 41. Scaling-File System Single Disk (Array) Raid 1, Raid 0, Raid5 Partition table type (GPT, MBR) Partition Format (ext2, ext3, resierfs, XFS, ZFS) Cluster Single Disk has limitation, but Cluster has no limit NetApp Filer (NAS - Network-attached storage) Many many choices
  • 42. Scaling-File System Sharing Hardware based sharing NAS (previous page) NFS - most simple way to share FS Samba - almost same with NFS, nice to try MogileFS (for web, no cursor based random access) GFS, Hadoop FS (chunk based)
  • 43. We are coming a long way, baby