SlideShare a Scribd company logo
Slow	database	in	your	PHP	stack?
Don’t	blame	the	DBA!
harald.zeitlhofer@dynatrace.com
@HZeitlhofer
Harald	Zeitlhofer	– who's	that?
• Technology	Strategist	at	Dynatrace
• Database	and	Web	Development
• Father	of	2	
• Love	climbing,	music,	cooking,	photography
• Love	to	discover	new	things
PHP	and	databases
• Connectivity
• Abstraction	Layers
• Caching
• Access	Patterns
• Performance
->	Relational	SQL	databases
Connectivity	via	DB	extensions
• mysql (deprecated	in	5.5,	removed	in	7.0)
• mysqli
• oracle
• PDO
• …
Connectivity	via	ORM	layer
• Object	Relational	Mapper
• Doctrine
• Propel,	RedBeanPHP,	Spot
• Complete	abstraction	of	persistence	layer
• Caching
• Limited	flexibility
Let	the	blame	game	start!
Web	Server Application	Server Database
DEV Team DBA Team
Blame the database for
all performance issues
Blame the SW/HW or
system administrators
Network?
function roomReservationReport($room) {
$reservations = loadDataForRoom($room->id);
generateReport($room, $reservations);
}
Slow	Report
function roomReservationReport($room) {
$tstart = microtime(true);
$reservations = loadDataForRoom($room->id);
$dataLoadTime = microtime(true) - $tstart;
generateReport($room, $reservations);
}
DEV	team	add	log	output
45s
DEV	team	result
<	1ms
DBA	team	looks	at	DB	stats	per	query
Excessive	SQL:	24889!
Calls	to	Database
Database	Heavy:	
66.51%	(40.27s)	
Time	Spent	in	SQL	Execs
Database	Performance	Hotspots
Application Design Database Infrastructure
http://apmblog.dynatrace.com/2015/06/25/when-old-jira-tickets-killed-our-productivityuser-experience/
Too	many	database	queries
Entity	Framework	lazy	loading
$schools = new SchoolEntities();
foreach ($schools as $school) {
foreach ($school->departments as $department) {
foreach ($department->courses as $course) {
echo $department->name . ": " . $course->title);
}
}
}
N+1	problem
• 10	schools
• 20	departments	per	school
• 50	curses	per	department
=>	10	x	20	x	50	=	10001	single	database	statements	!!!
Use	a	JOIN	query
$rows = $db->query ("
select department.name as department, course.title as course
from school
join department on school_id = school.id
join course on department_id = department.id
");
foreach ($rows as $row) {
echo $row->department . ": " . $row->course);
}
=>	ONE	database	statement	!!!
Traditional	code
$author_id = get_author_id( 'Jack London' );
$books = get_books( $author_id );
foreach ($books as $book_id) {
$book = get_book( $book_id );
var_dump( $book );
}
=>	N+1	Problem	!!!
Traditional	code
function get_author_id( $name ){
global $db;
$res = $db->query( "SELECT id FROM authors WHERE name=?", array( $name ) );
$id = null;
while( $res->fetchInto( $row ) ) { $id = $row[0]; }
return $id;
}
function get_books( $id ){
global $db;
$res = $db->query( "SELECT id FROM books WHERE author_id=?", array( $id ) );
$ids = array();
while( $res->fetchInto( $row ) ) { $ids []= $row[0]; }
return $ids;
}
function get_book( $id ){
global $db;
$res = $db->query( "SELECT * FROM books WHERE id=?", array( $id ) );
while( $res->fetchInto( $row ) ) { return $row; }
return null;
}
=>	N+1	Problem	!!!
Retrieving	too	many	records
Retrieving	too	many	records
$schools = new SchoolEntities();
foreach ($schools->departments as $department) {
foreach ($department->courses as $course) {
if ($course->category == "SQL" &&
$course->level == "expert")) {
echo $department->name . ": " . $course->title);
}
}
}
=>	3	records,	still	10001	queries
Use	a	JOIN	query
$rows = $db->query ("
select department.name as department, course.title as course
from school
join department on school_id = school.id
join course on department_id = department.id
where course.category = 'SQL' and course.level = 'expert'
");
foreach ($rows as $row) {
echo $department . ": " . $course);
}
=>	ONE	database	statement	!!!
Reduce	the	number	of	queries
Reduce	the	amount	of	data	retrieved
Profile	the	generated	queries!
I'm	a	developer	for	business	
logic!	I	don't	have	to	
understand	what	the	
database	does	and	I	do	not	
care	at	all!
I'm	a	developer	for	business	
logic!	My	code	can	be	much	
more	efficient	if	I	understand	
what	the	database	does	and	
how	it	works!
Make	developers	self-sufficient
Make	developers	self-sufficient
Make	developers	self-sufficient
Slow	Single	SQL	query	–
tuning/indexing	might	be	required
Make	developers	self-sufficient
Indexes
Indexes	are	data	structures	for	
referencing	a	search	value	(in	an	
indexed	column)	to	a	row	in	the	
target	table
Indexes	are	used	to	find	records	in	a	
table	when	a	where	clause	is	used
Indexes	are	also	used	to	join	tables	in	
a	query,	where	multiple	tables	are	
used
Index	Killer
where	…	in	(…)
Better
• Join	tables
• Use	where	exists	(…)
What’s	the	overall	Execution	
Time	of	different	SQL	Types	
(SELECT,	INSERT,	DELETE,	…)
Indexing	– Read	v/s	Write
Analyzing	SQLs	by	Type	(SELECT,	INSERT,	
UPDATE,DELETE)	
Which	Types	take	how	long?	When	do	you	have	spikes?
When	do	we	see	#	of	SQL	spikes?	Spikes	related	to	
INSERT,	UPDATE,	DELETE?	Any	job	running?
Different	databases	
for	read	and	write???
Different	databases	for	read	and	write
• Data	Warehouse
• Document	oriented	NoSQL
• Separate	logic	for	data	transfer	needed
Useful	commands	in	MySQL
explain select ...
show indexes for table_name
Caching
Application	Data	Cache
• Caching	layer	inside	the	application
• Application	logic	required	to	get	data	from	and	store	in	cache
MySQL	Query	Cache
• Caches	query	results	in	memory
Oracle	SQL	Cache
• Oracle	SQL	cache	stores	the	execution	plan	for	a	SQL	statement
• Even	different	plans	a	stored	for	different	bind	variable	values
• No	parsing	required
• Parsing	is	the	most	CPU	consuming	process
• Cache	key	is	full	SQL	query	text
Oracle	SQL	Cache
<?php
$db = new PDO('oci:dbname=sid', 'username', 'password');
$data = Array();
$data[] = $db->query("select * from country where code = 'AT'");
$data[] = $db->query("select * from country where code = 'AU'");
$data[] = $db->query("select * from country where code = 'NZ'");
$data[] = $db->query("select * from country where code = 'ES'");
?>
Oracle	SQL	Cache
<?php
$db = new PDO('oci:dbname=sid', 'username', 'password');
$data = Array();
$ps = $db->prepare("select * from emp where code = :code");
$data[] = $ps->exec(array("code" => "AT"));
$data[] = $ps->exec(array("code" => "AU"));
$data[] = $ps->exec(array("code" => "NZ"));
$data[] = $ps->exec(array("code" => "ES"));
?>
Database	Health
Horizontally	scaled	environments
Performance	problem	after	upscaling
Database	Access
• Size	server	(cluster)	appropriately	for	maximum	number	of	connected	
instances
• Reduce	connections
• Reduce	SQL	statements
• Leverage	caching
Working	together,	looking	at	the	same	data
Web	Server Application	Server Database
Takeaways
• Much	time	spent	in	database	does	not	necessarily	mean	database	is	slow!
• Performance	hotspots
• Too	many	SQL	statements
• Missing	caching
• Bad	query	design
• Index	(mis)usage
• Undersized	database	server
• Let	developers	know	what’s	happening	in	the	database
• The	DBA	is	our	friend!
Harald	Zeitlhofer
Performance	Advocate
@HZeitlhofer
harald.zeitlhofer@dynatrace.com
http://blog.dynatrace.com
Dynatrace	Free	Trial
Free	Personal	License
http://bit.ly/monitoring-2016

More Related Content

What's hot

(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
Amazon Web Services
 
Sqoop
SqoopSqoop
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016
Vlad Mihalcea
 
Caching basics in PHP
Caching basics in PHPCaching basics in PHP
Caching basics in PHP
Anis Ahmad
 
In Memory OLTP
In Memory OLTP In Memory OLTP
In Memory OLTP
BT Akademi
 
Scaling in Mind (Case study of Drupal Core)
Scaling in Mind (Case study of Drupal Core)Scaling in Mind (Case study of Drupal Core)
Scaling in Mind (Case study of Drupal Core)
jimyhuang
 
Top ten-list
Top ten-listTop ten-list
Top ten-list
Brian DeShong
 
Hive Quick Start Tutorial
Hive Quick Start TutorialHive Quick Start Tutorial
Hive Quick Start Tutorial
Carl Steinbach
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
Wim Godden
 
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
georgepenkov
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
Engine Yard
 
Redis in Practice: Scenarios, Performance and Practice with PHP
Redis in Practice: Scenarios, Performance and Practice with PHPRedis in Practice: Scenarios, Performance and Practice with PHP
Redis in Practice: Scenarios, Performance and Practice with PHP
Chen Huang
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
Gruter
 
SQL Track: Restoring databases with powershell
SQL Track: Restoring databases with powershellSQL Track: Restoring databases with powershell
SQL Track: Restoring databases with powershell
ITProceed
 
eZ Publish Cluster Unleashed
eZ Publish Cluster UnleashedeZ Publish Cluster Unleashed
eZ Publish Cluster Unleashed
Bertrand Dunogier
 
High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016
Vlad Mihalcea
 
Oozie or Easy: Managing Hadoop Workloads the EASY Way
Oozie or Easy: Managing Hadoop Workloads the EASY WayOozie or Easy: Managing Hadoop Workloads the EASY Way
Oozie or Easy: Managing Hadoop Workloads the EASY Way
DataWorks Summit
 
Amp and higher computing science
Amp and higher computing scienceAmp and higher computing science
Amp and higher computing science
Charlie Love
 

What's hot (18)

(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
 
Sqoop
SqoopSqoop
Sqoop
 
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016
 
Caching basics in PHP
Caching basics in PHPCaching basics in PHP
Caching basics in PHP
 
In Memory OLTP
In Memory OLTP In Memory OLTP
In Memory OLTP
 
Scaling in Mind (Case study of Drupal Core)
Scaling in Mind (Case study of Drupal Core)Scaling in Mind (Case study of Drupal Core)
Scaling in Mind (Case study of Drupal Core)
 
Top ten-list
Top ten-listTop ten-list
Top ten-list
 
Hive Quick Start Tutorial
Hive Quick Start TutorialHive Quick Start Tutorial
Hive Quick Start Tutorial
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
Redis in Practice: Scenarios, Performance and Practice with PHP
Redis in Practice: Scenarios, Performance and Practice with PHPRedis in Practice: Scenarios, Performance and Practice with PHP
Redis in Practice: Scenarios, Performance and Practice with PHP
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
 
SQL Track: Restoring databases with powershell
SQL Track: Restoring databases with powershellSQL Track: Restoring databases with powershell
SQL Track: Restoring databases with powershell
 
eZ Publish Cluster Unleashed
eZ Publish Cluster UnleashedeZ Publish Cluster Unleashed
eZ Publish Cluster Unleashed
 
High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016
 
Oozie or Easy: Managing Hadoop Workloads the EASY Way
Oozie or Easy: Managing Hadoop Workloads the EASY WayOozie or Easy: Managing Hadoop Workloads the EASY Way
Oozie or Easy: Managing Hadoop Workloads the EASY Way
 
Amp and higher computing science
Amp and higher computing scienceAmp and higher computing science
Amp and higher computing science
 

Viewers also liked

Scaling PHP web apps
Scaling PHP web appsScaling PHP web apps
Scaling PHP web apps
Harald Zeitlhofer
 
2016 Holiday Retail Tech Recap
2016 Holiday Retail Tech Recap2016 Holiday Retail Tech Recap
2016 Holiday Retail Tech Recap
Dynatrace
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
Dynatrace
 
Finding the Time to be Active in the Library Classroom
Finding the Time to be Active in the Library ClassroomFinding the Time to be Active in the Library Classroom
Finding the Time to be Active in the Library Classroom
Lucinda Rush
 
Презентация IRM businessDoc Королевой С.М.
Презентация IRM businessDoc Королевой С.М.Презентация IRM businessDoc Королевой С.М.
Презентация IRM businessDoc Королевой С.М.
Группа компаний «Системы и Проекты»
 
2014.07.24 экономическое обозрение за 2013 год - финал
2014.07.24   экономическое обозрение за 2013 год - финал2014.07.24   экономическое обозрение за 2013 год - финал
2014.07.24 экономическое обозрение за 2013 год - финал
Anastasia Vinogradova
 
Kings Boston On Campus
Kings Boston On CampusKings Boston On Campus
Kings Boston On Campus
A Four Leaf / EEJF
 
Real World Roslyn
Real World RoslynReal World Roslyn
Real World Roslyn
Jb Evain
 
沃草發言人,林祖儀《選舉與網路技術論壇》
沃草發言人,林祖儀《選舉與網路技術論壇》沃草發言人,林祖儀《選舉與網路技術論壇》
沃草發言人,林祖儀《選舉與網路技術論壇》
PunNode 科技創業新聞網
 
Брошюра в печать 2015
Брошюра в печать 2015Брошюра в печать 2015
Брошюра в печать 2015
Anastasia Vinogradova
 
LAND POLICIES, TITLING SCHEMES AND THE LEGAL REFORM PROCESS IN TIMOR-LESTE
LAND POLICIES, TITLING SCHEMES AND  THE LEGAL REFORM PROCESS IN TIMOR-LESTELAND POLICIES, TITLING SCHEMES AND  THE LEGAL REFORM PROCESS IN TIMOR-LESTE
LAND POLICIES, TITLING SCHEMES AND THE LEGAL REFORM PROCESS IN TIMOR-LESTE
UNDP in Asia and the Pacific
 
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Anastasia Vinogradova
 
финансовый рынок _09(1)
финансовый рынок _09(1)финансовый рынок _09(1)
финансовый рынок _09(1)
Anastasia Vinogradova
 
PunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚ
PunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚPunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚ
PunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚ
PunNode 科技創業新聞網
 

Viewers also liked (15)

Scaling PHP web apps
Scaling PHP web appsScaling PHP web apps
Scaling PHP web apps
 
2016 Holiday Retail Tech Recap
2016 Holiday Retail Tech Recap2016 Holiday Retail Tech Recap
2016 Holiday Retail Tech Recap
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Finding the Time to be Active in the Library Classroom
Finding the Time to be Active in the Library ClassroomFinding the Time to be Active in the Library Classroom
Finding the Time to be Active in the Library Classroom
 
Презентация IRM businessDoc Королевой С.М.
Презентация IRM businessDoc Королевой С.М.Презентация IRM businessDoc Королевой С.М.
Презентация IRM businessDoc Королевой С.М.
 
2014.07.24 экономическое обозрение за 2013 год - финал
2014.07.24   экономическое обозрение за 2013 год - финал2014.07.24   экономическое обозрение за 2013 год - финал
2014.07.24 экономическое обозрение за 2013 год - финал
 
Kings Boston On Campus
Kings Boston On CampusKings Boston On Campus
Kings Boston On Campus
 
Real World Roslyn
Real World RoslynReal World Roslyn
Real World Roslyn
 
La dança classica
La dança classicaLa dança classica
La dança classica
 
沃草發言人,林祖儀《選舉與網路技術論壇》
沃草發言人,林祖儀《選舉與網路技術論壇》沃草發言人,林祖儀《選舉與網路技術論壇》
沃草發言人,林祖儀《選舉與網路技術論壇》
 
Брошюра в печать 2015
Брошюра в печать 2015Брошюра в печать 2015
Брошюра в печать 2015
 
LAND POLICIES, TITLING SCHEMES AND THE LEGAL REFORM PROCESS IN TIMOR-LESTE
LAND POLICIES, TITLING SCHEMES AND  THE LEGAL REFORM PROCESS IN TIMOR-LESTELAND POLICIES, TITLING SCHEMES AND  THE LEGAL REFORM PROCESS IN TIMOR-LESTE
LAND POLICIES, TITLING SCHEMES AND THE LEGAL REFORM PROCESS IN TIMOR-LESTE
 
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
 
финансовый рынок _09(1)
финансовый рынок _09(1)финансовый рынок _09(1)
финансовый рынок _09(1)
 
PunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚ
PunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚPunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚ
PunProbe 磅礡《解剖阿里巴巴的心臟:細讀中國淘寶》——陳小ㄚ
 

Similar to PHP and databases

How to Troubleshoot & Optimize Database Query Performance for Your Application
How to Troubleshoot  & Optimize Database Query Performance for Your ApplicationHow to Troubleshoot  & Optimize Database Query Performance for Your Application
How to Troubleshoot & Optimize Database Query Performance for Your Application
Dynatrace
 
Scaling php applications with redis
Scaling php applications with redisScaling php applications with redis
Scaling php applications with redis
jimbojsb
 
MYSQL - PHP Database Connectivity
MYSQL - PHP Database ConnectivityMYSQL - PHP Database Connectivity
MYSQL - PHP Database Connectivity
V.V.Vanniaperumal College for Women
 
Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010
Michelangelo van Dam
 
Drupal - dbtng 25th Anniversary Edition
Drupal - dbtng 25th Anniversary EditionDrupal - dbtng 25th Anniversary Edition
Drupal - dbtng 25th Anniversary Edition
ddiers
 
第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource
Kaz Watanabe
 
Object Relational Mapping in PHP
Object Relational Mapping in PHPObject Relational Mapping in PHP
Object Relational Mapping in PHP
Rob Knight
 
Drupal II: The SQL
Drupal II: The SQLDrupal II: The SQL
Drupal II: The SQL
ddiers
 
Php summary
Php summaryPhp summary
Php summary
Michelle Darling
 
NoSQL & JSON
NoSQL & JSONNoSQL & JSON
NoSQL & JSON
Tien-Yang (Aiden) Wu
 
MYSQL Query Anti-Patterns That Can Be Moved to Sphinx
MYSQL Query Anti-Patterns That Can Be Moved to SphinxMYSQL Query Anti-Patterns That Can Be Moved to Sphinx
MYSQL Query Anti-Patterns That Can Be Moved to Sphinx
Pythian
 
Scaling Databases with DBIx::Router
Scaling Databases with DBIx::RouterScaling Databases with DBIx::Router
Scaling Databases with DBIx::Router
Perrin Harkins
 
Web Application Development using PHP Chapter 7
Web Application Development using PHP Chapter 7Web Application Development using PHP Chapter 7
Web Application Development using PHP Chapter 7
Mohd Harris Ahmad Jaal
 
PHP and MySQL.pptx
PHP and MySQL.pptxPHP and MySQL.pptx
PHP and MySQL.pptx
natesanp1234
 
Emerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataEmerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big Data
Rahul Jain
 
Shark
SharkShark
Shark
Alex Ivy
 
PHP-04-Arrays.ppt
PHP-04-Arrays.pptPHP-04-Arrays.ppt
PHP-04-Arrays.ppt
Leandro660423
 
Practical PHP 5.3
Practical PHP 5.3Practical PHP 5.3
Practical PHP 5.3
Nate Abele
 
SPL: The Undiscovered Library - DataStructures
SPL: The Undiscovered Library -  DataStructuresSPL: The Undiscovered Library -  DataStructures
SPL: The Undiscovered Library - DataStructures
Mark Baker
 
PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...
PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...
PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...
Puppet
 

Similar to PHP and databases (20)

How to Troubleshoot & Optimize Database Query Performance for Your Application
How to Troubleshoot  & Optimize Database Query Performance for Your ApplicationHow to Troubleshoot  & Optimize Database Query Performance for Your Application
How to Troubleshoot & Optimize Database Query Performance for Your Application
 
Scaling php applications with redis
Scaling php applications with redisScaling php applications with redis
Scaling php applications with redis
 
MYSQL - PHP Database Connectivity
MYSQL - PHP Database ConnectivityMYSQL - PHP Database Connectivity
MYSQL - PHP Database Connectivity
 
Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010
 
Drupal - dbtng 25th Anniversary Edition
Drupal - dbtng 25th Anniversary EditionDrupal - dbtng 25th Anniversary Edition
Drupal - dbtng 25th Anniversary Edition
 
第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource
 
Object Relational Mapping in PHP
Object Relational Mapping in PHPObject Relational Mapping in PHP
Object Relational Mapping in PHP
 
Drupal II: The SQL
Drupal II: The SQLDrupal II: The SQL
Drupal II: The SQL
 
Php summary
Php summaryPhp summary
Php summary
 
NoSQL & JSON
NoSQL & JSONNoSQL & JSON
NoSQL & JSON
 
MYSQL Query Anti-Patterns That Can Be Moved to Sphinx
MYSQL Query Anti-Patterns That Can Be Moved to SphinxMYSQL Query Anti-Patterns That Can Be Moved to Sphinx
MYSQL Query Anti-Patterns That Can Be Moved to Sphinx
 
Scaling Databases with DBIx::Router
Scaling Databases with DBIx::RouterScaling Databases with DBIx::Router
Scaling Databases with DBIx::Router
 
Web Application Development using PHP Chapter 7
Web Application Development using PHP Chapter 7Web Application Development using PHP Chapter 7
Web Application Development using PHP Chapter 7
 
PHP and MySQL.pptx
PHP and MySQL.pptxPHP and MySQL.pptx
PHP and MySQL.pptx
 
Emerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataEmerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big Data
 
Shark
SharkShark
Shark
 
PHP-04-Arrays.ppt
PHP-04-Arrays.pptPHP-04-Arrays.ppt
PHP-04-Arrays.ppt
 
Practical PHP 5.3
Practical PHP 5.3Practical PHP 5.3
Practical PHP 5.3
 
SPL: The Undiscovered Library - DataStructures
SPL: The Undiscovered Library -  DataStructuresSPL: The Undiscovered Library -  DataStructures
SPL: The Undiscovered Library - DataStructures
 
PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...
PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...
PuppetConf 2017: What's in a Name? Scaling ENC with DNS- Cameron Nicholson, A...
 

More from Harald Zeitlhofer

Improve Magento Performance
Improve Magento PerformanceImprove Magento Performance
Improve Magento Performance
Harald Zeitlhofer
 
PHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxPHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on Nginx
Harald Zeitlhofer
 
Running PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtnRunning PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtn
Harald Zeitlhofer
 
PHP App Performance / Sydney PHP
PHP App Performance / Sydney PHPPHP App Performance / Sydney PHP
PHP App Performance / Sydney PHP
Harald Zeitlhofer
 
Running PHP on nginx
Running PHP on nginxRunning PHP on nginx
Running PHP on nginx
Harald Zeitlhofer
 
PHP application performance
PHP application performancePHP application performance
PHP application performance
Harald Zeitlhofer
 
PHP Application Performance
PHP Application PerformancePHP Application Performance
PHP Application Performance
Harald Zeitlhofer
 
Running php on nginx
Running php on nginxRunning php on nginx
Running php on nginx
Harald Zeitlhofer
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
Harald Zeitlhofer
 
Nginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixNginx, PHP, Apache and Spelix
Nginx, PHP, Apache and Spelix
Harald Zeitlhofer
 
Nginx, PHP and Node.js
Nginx, PHP and Node.jsNginx, PHP and Node.js
Nginx, PHP and Node.js
Harald Zeitlhofer
 
Performance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious businessPerformance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious business
Harald Zeitlhofer
 

More from Harald Zeitlhofer (12)

Improve Magento Performance
Improve Magento PerformanceImprove Magento Performance
Improve Magento Performance
 
PHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxPHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on Nginx
 
Running PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtnRunning PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtn
 
PHP App Performance / Sydney PHP
PHP App Performance / Sydney PHPPHP App Performance / Sydney PHP
PHP App Performance / Sydney PHP
 
Running PHP on nginx
Running PHP on nginxRunning PHP on nginx
Running PHP on nginx
 
PHP application performance
PHP application performancePHP application performance
PHP application performance
 
PHP Application Performance
PHP Application PerformancePHP Application Performance
PHP Application Performance
 
Running php on nginx
Running php on nginxRunning php on nginx
Running php on nginx
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
 
Nginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixNginx, PHP, Apache and Spelix
Nginx, PHP, Apache and Spelix
 
Nginx, PHP and Node.js
Nginx, PHP and Node.jsNginx, PHP and Node.js
Nginx, PHP and Node.js
 
Performance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious businessPerformance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious business
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 

PHP and databases