SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Apc & Memcached
the High-
Performance Duo
Barcelona 2010
Ilia Alshanetsky
1Sunday, October 31, 2010
What is APC?
• Alternative PHP Cache
• Primarily designed to accelerate script
performance via opcode caching
• Extends opcode caching to facilitate user-data
caching
• Actively maintained & well supported
2Sunday, October 31, 2010
Opcode Caching
Default Mode With APC
PHP Script
Zend Execute
Zend Compile
Require/Include
Function/Method
Call
PHP Script
Zend Execute
Zend Compile
Require/Include
Function/Method
Call
Opcode Cache
Data Cached?
Yes
No
Cache Opcode
APC
3Sunday, October 31, 2010
APC User-Cache
• Allows you to apply the same caching logic to
your data as applied to PHP scripts.
Slide Motto:
Not everything has to be real-time!
4Sunday, October 31, 2010
APC in Practice
// store an array of values for 1 day, referenced by "identifier"
if (!apc_add("identifier", array(1,2,3), 86400)) {
    // already exists? let's update it instead
    if (!apc_store("identifier", array(1,2,3), 86400)) {
        // uh, oh, b0rkage
    }
}
$ok = null;
// fetch value associated with "identified" and
// put success state into $ok variable
$my_array = apc_fetch("identifier", $ok);
if ($ok) {
    // changed my mind, let's delete it
    apc_delete("identifier");
}
5Sunday, October 31, 2010
Let’s be lazy
// create or update an array of values for 1 day
if (!apc_store("identifier", array(1,2,3), 86400)) {
// uh, oh, b0rkage
mail("gopal, brian, kalle", "you broke my code", "fix it!");
}
If you don’t care whether your are adding or updating
values you can just use apc_store() and keep your
code simpler
6Sunday, October 31, 2010
Don’t Delete
• Deleting from cache is expensive as it may need
to re-structure internal hash tables.
• Rely on auto-expiry functionality instead
• Or an off-stream cron job to clean up stale
cache entries
• In many cases it is simpler just to start from
scratch.
apc_clear_cache(“user”)
7Sunday, October 31, 2010
Installing APC
# Unix
sudo bash (open root shell)
pecl install apc (configure, compile & install APC)
# Windows
Copy the php_apc.dll file into your php’s ext/
directory
# Common
Enable APC from your php.ini file
8Sunday, October 31, 2010
Advantages of APC
• If you (or your ISP) uses opcode caching,
chances are it is already there.
• Really efficient at storing simple types (scalars
& arrays)
• Really simple to use, can’t get any easier…
• Fairly stable
9Sunday, October 31, 2010
APC Limitations
• PHP only, can’t talk to other “stuff”
• Not distributed, local only
• Opcode + User cache == all eggs in one basket
• Could be volatile
10Sunday, October 31, 2010
Memcached
• Interface to Memcached - a distributed caching
system
• Provides Object Oriented interface to caching
system
• Offers a built-in session handler
• Can only be used for “user” caching
• Purpose built, so lots of nifty features
11Sunday, October 31, 2010
Memcache vs Memcached
• Memcached Advantages
• Faster
• Igbinary serializer
• fastlz compression
• Multi-Server Interface
• Fail-over callback support
12Sunday, October 31, 2010
Basics in Practice
$mc = new MemCached();
// connect to memcache on local machine, on default port
$mc->addServer('localhost', '11211');
// try to add an array with a retrieval key for 1 day
if (!$mc->add('key', array(1,2,3), 86400)) {
    // if already exists, let's replace it
    if (!$mc->replace('key', array(1,2,3), 86400)) {
        die("Critical Error");
    }
}
// let's fetch our data
if (($data = $mc->get('key')) !== FALSE) {
    // let's delete it now
    $mc->delete('key'); // RIGHT NOW!
}
13Sunday, October 31, 2010
Data Retrieval Gotcha(s)
$mc = new MemCached();
$mc->addServer('localhost', '11211');
$mc->add('key', 0);
if (!($data = $mc->get('key'))) {
  die("Not Found?"); // not true
// The value could be 0,array(),NULL,””
// always compare Memcache::get() result to
// FALSE constant in a type-sensitive way (!== FALSE)
}
// The “right” way!
if (($data = $mc->get('key')) === FALSE) {
  die("Not Found");
}
14Sunday, October 31, 2010
Data Retrieval Gotcha(s)
$mc = new MemCached();
$mc->addServer('localhost', '11211');
$mc->add('key', FALSE);
if (($data = $mc->get('key')) !== FALSE) {
  die("Not Found?"); // not true
// The value could be FALSE, you
// need to check the response code
}
// The “right” way!
if (
(($data = $mc->get('key')) === FALSE)
&&
($mc->getResultCode() != MemCached::RES_SUCCESS)
) {
  die("Not Found");
}
15Sunday, October 31, 2010
Interface Basics Continued...
$mc = new MemCached();
// on local machine we can connect via Unix Sockets for better speed
$mc->addServer('/var/run/memcached/11211.sock', 0);
// add/or replace, don't care just get it in there
// without expiration parameter, will remain in cache “forever”
$mc->set('key1', array(1,2,3));
$key_set = array('key1' => “foo”, 'key1' => array(1,2,3));
// store multiple keys at once for 1 hour
$mc->setMulti($key_set, 3600);
// get multiple keys at once
$data = $mc->getMulti(array_keys($key_set));
/*
array(
    'key1' => ‘foo’
    'key2' => array(1,2,3)
)
*/
For multi-(get|set), all ops
must succeed for
successful return.
16Sunday, October 31, 2010
Multi-Server Environment
$mc = new MemCached();
// add multiple servers to the list
// as many servers as you like can be added
$mc->addServers(
array('localhost', 11211, 80), // high-priority 80%
array('192.168.1.90', 11211, 20)// low-priority 20%
);
// You can also do it one at a time, but this is not recommended
$mc->addServer('localhost', 11211, 80);
$mc->addServer('192.168.1.90', 11211, 20);
// Get a list of servers in the pool
$mc->	
  getServerList();
// array(array(‘host’ => … , ‘port’ => … ‘weight’ => …))
17Sunday, October 31, 2010
Data Segmentation
• Memcached interface allows you to store
certain types of data on specific servers
$mc = new MemCached();
$mc->addServers( … );
// Add data_key with a value of “value” for 10 mins to server
// identified by “server_key”
$mc->addByKey('server_key', 'data_key', 'value', 600);
// Fetch key from specific server
$mc->getByKey('server_key', 'data_key');
// Add/update key on specific server
$mc->setByKey('server_key', 'data_key', 'value', 600);
// Remove key from specific server
$mc->deleteByKey('server_key', 'data_key');
18Sunday, October 31, 2010
And there is more ...
• The specific-server interface also supports multi-(get|set)
$mc = new MemCached();
$mc->addServers( … );
$key_set = array('key1' => “foo”, 'key1' => array(1,2,3));
// store multiple keys at once for 1 hour
$mc->setMultiByKey('server_key', $key_set, 3600);
// get multiple keys at once
$data = $mc->getMultiByKey('server_key', array_keys($key_set));
19Sunday, October 31, 2010
Delayed Data Retrieval
• One of the really neat features of Memcached
extension is the ability to execute the “fetch”
command, but defer the actual data retrieval
until later.
• Particularly handy when retrieving many keys
that won’t be needed until later.
20Sunday, October 31, 2010
Delayed Data Retrieval
$mc = new MemCached();
$mc->addServer('localhost', '11211');
$mc->getDelayed(array('key')); // parameter is an array of keys
/* some PHP code that does “stuff” */
// Fetch data one record at a time
while ($data = $mc->fetch()) { ... }
// Fetch all data in one go
$data = $mc->fetchAll();
21Sunday, October 31, 2010
Atomic Counters
$mc = new MemCached();
$mc->addServer('localhost', 11211);
// initialize counter to 1
$mc->set('my_counter', 1);
// increase count by 1
$mc->increment('my_counter');
// increase count by 10
$mc->increment('my_counter', 10);
// decrement count by 1
$mc->decrement('my_counter');
// decrement count by 10
$mc->decrement('my_counter', 10);
22Sunday, October 31, 2010
Counter Trick
$mc = new MemCached();
$mc->addServer('localhost', 11211);
// add key position if does not already exist
if (!$mc->add('key_pos', 1)) {
    // otherwise increment it
    $position = $mc->increment('key_pos');
} else {
    $position = 1;
}
// add real value at the new position
$mc->add('key_value_' . $position, array(1,2,3));
• Simplifies cache invalidation
• Reduces lock contention (or eliminates it)
23Sunday, October 31, 2010
Data Compression
• In many cases performance can be gained by
compressing large blocks of data. Since in most cases
network IO is more expensive then CPU speed + RAM.
$mc = new MemCached();
$mc->addServer('localhost', 11211);
// enable compression
$mc->setOption(Memcached::OPT_COMPRESSION, TRUE);
Related INI settings (INI_ALL)
Other possible value is zlib
memcached.compression_type=fastlz
minimum compression rate
memcached.compression_factor=1.3
minimum data size to compress
memcached.compression_threshold=2000
24Sunday, October 31, 2010
PHP Serialization
If you are using memcached to store complex data type
(arrays & objects), they will need to be converted to
strings for the purposes of storage, via serialization.
Memcached can make use of igbinary serializer that
works faster (~30%) and produces more compact data set
(up-to 45% smaller) than native PHP serializer.
http://github.com/phadej/igbinary
25Sunday, October 31, 2010
Enabling Igbinary
Install Memcached extension with
--enable-memcached-igbinary
$mc = new MemCached();
$mc->addServer('localhost', 11211);
// use Igbinary serializer
$mc->setOption(
Memcached::OPT_SERIALIZER,
Memcached::SERIALIZER_IGBINARY
);
26Sunday, October 31, 2010
Utility Methods
$mc = new MemCached();
$mc->addServer('localhost', 11211);
// memcached statistics gathering
$mc->getStats();
// clear all cache entries
$mc->flush();
// clear all cache entries
// in 10 minutes
$mc->flush(600);
Array
(
	
  	
  	
  	
  [server:port]	
  =>	
  Array
	
  	
  	
  	
  	
  	
  	
  	
  (
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [pid]	
  =>	
  4933
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [uptime]	
  =>	
  786123
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [threads]	
  =>	
  1
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [time]	
  =>	
  1233868010
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [pointer_size]	
  =>	
  32
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [rusage_user_seconds]	
  =>	
  0
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [rusage_user_microseconds]	
  =>	
  140000
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [rusage_system_seconds]	
  =>	
  23
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [rusage_system_microseconds]	
  =>	
  210000
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [curr_items]	
  =>	
  145
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [total_items]	
  =>	
  2374
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [limit_maxbytes]	
  =>	
  67108864
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [curr_connections]	
  =>	
  2
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [total_connections]	
  =>	
  151
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [a]	
  =>	
  3
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [bytes]	
  =>	
  20345
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [cmd_get]	
  =>	
  213343
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [cmd_set]	
  =>	
  2381
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [get_hits]	
  =>	
  204223
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [get_misses]	
  =>	
  9120
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [evictions]	
  =>	
  0
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [bytes_read]	
  =>	
  9092476
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [bytes_written]	
  =>	
  15420512
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [version]	
  =>	
  1.2.6
	
  	
  	
  	
  	
  	
  	
  	
  )
)
27Sunday, October 31, 2010
Installing Memcached
Download memcached from http://
www.memcached.org and compile it.
Download libmemcached from http://tangent.org/552/
libmemcached.html and compile it.
pecl install memcached (configure, make, make install)
Enable Memcached from your php.ini file
28Sunday, October 31, 2010
Memcached Session Handler
# Session settings
session.save_handler # set to “memcached
session.save_path # set to memcache host server:port
memcached.sess_prefix # Defaults to memc.sess.key.
# Locking Controls
# Whether to enable session lock, on by default
memcached.sess_locking
# Maximum number of microseconds to wait on a lock
memcached.sess_lock_wait
29Sunday, October 31, 2010
Advantages of Memcache
• Allows other languages to talk to it
• One instance can be shared by multiple servers
• Failover & redundancy
• Nifty Features
• Very stable
30Sunday, October 31, 2010
It is not perfect because?
• Slower then APC, especially for array storage
• Requires external daemon
• You can forget about it on
shared hosting
31Sunday, October 31, 2010
That’s all folks
Any Questions?
Slides at: http://ilia.ws
32Sunday, October 31, 2010

Más contenido relacionado

La actualidad más candente

Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 
Hadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup InsightsHadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup InsightsSruthi Kumar Annamnidu
 
ARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CIARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CICosmin Poieana
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.Sveta Smirnova
 
Future Decoded - Node.js per sviluppatori .NET
Future Decoded - Node.js per sviluppatori .NETFuture Decoded - Node.js per sviluppatori .NET
Future Decoded - Node.js per sviluppatori .NETGianluca Carucci
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
 
Automating with ansible (Part c)
Automating with ansible (Part c) Automating with ansible (Part c)
Automating with ansible (Part c) iman darabi
 
PuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with PuppetPuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with PuppetWalter Heck
 
Apache zookeeper 101
Apache zookeeper 101Apache zookeeper 101
Apache zookeeper 101Quach Tung
 
Mail server configuration
Mail server configurationMail server configuration
Mail server configurationchacheng oo
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77chhorn
 
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 scalabilityWim Godden
 
Caching and tuning fun for high scalability @ 4Developers
Caching and tuning fun for high scalability @ 4DevelopersCaching and tuning fun for high scalability @ 4Developers
Caching and tuning fun for high scalability @ 4DevelopersWim Godden
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdRichard Lister
 

La actualidad más candente (20)

Install oracle11gr2 rhel5
Install oracle11gr2 rhel5Install oracle11gr2 rhel5
Install oracle11gr2 rhel5
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Hadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup InsightsHadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup Insights
 
ARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CIARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CI
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
 
Future Decoded - Node.js per sviluppatori .NET
Future Decoded - Node.js per sviluppatori .NETFuture Decoded - Node.js per sviluppatori .NET
Future Decoded - Node.js per sviluppatori .NET
 
About memcached
About memcachedAbout memcached
About memcached
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Automating with ansible (Part c)
Automating with ansible (Part c) Automating with ansible (Part c)
Automating with ansible (Part c)
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
PuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with PuppetPuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with Puppet
 
Apache zookeeper 101
Apache zookeeper 101Apache zookeeper 101
Apache zookeeper 101
 
VMWare Lab For Training, Testing or Proof of Concept
VMWare Lab For Training, Testing or Proof of ConceptVMWare Lab For Training, Testing or Proof of Concept
VMWare Lab For Training, Testing or Proof of Concept
 
Mail server configuration
Mail server configurationMail server configuration
Mail server configuration
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
 
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
 
Mysql all
Mysql allMysql all
Mysql all
 
Caching and tuning fun for high scalability @ 4Developers
Caching and tuning fun for high scalability @ 4DevelopersCaching and tuning fun for high scalability @ 4Developers
Caching and tuning fun for high scalability @ 4Developers
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love Systemd
 

Similar a APC & Memcache the High Performance Duo

Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010isnull
 
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 scalabilityWim Godden
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisationgrooverdan
 
Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Wim Godden
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialWim Godden
 
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 scalabilityWim Godden
 
Caching and tuning fun for high scalability @ phpBenelux 2011
Caching and tuning fun for high scalability @ phpBenelux 2011Caching and tuning fun for high scalability @ phpBenelux 2011
Caching and tuning fun for high scalability @ phpBenelux 2011Wim Godden
 
Drupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case StudyDrupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case Studyhernanibf
 
Give Your Site a Boost with Memcache
Give Your Site a Boost with MemcacheGive Your Site a Boost with Memcache
Give Your Site a Boost with MemcacheBen Ramsey
 
Built-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIsBuilt-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIsUlf Wendel
 
Zend Con 2008 Slides
Zend Con 2008 SlidesZend Con 2008 Slides
Zend Con 2008 Slidesmkherlakian
 
Practical Tips for Novell Cluster Services
Practical Tips for Novell Cluster ServicesPractical Tips for Novell Cluster Services
Practical Tips for Novell Cluster ServicesNovell
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance毅 吕
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...Amazon Web Services
 
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 scalabilityWim Godden
 
Data Grids with Oracle Coherence
Data Grids with Oracle CoherenceData Grids with Oracle Coherence
Data Grids with Oracle CoherenceBen Stopford
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetAchieve Internet
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetAchieve Internet
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...Amazon Web Services
 

Similar a APC & Memcache the High Performance Duo (20)

Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010
 
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
 
Apc Memcached Confoo 2011
Apc Memcached Confoo 2011Apc Memcached Confoo 2011
Apc Memcached Confoo 2011
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisation
 
Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun 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
 
Caching and tuning fun for high scalability @ phpBenelux 2011
Caching and tuning fun for high scalability @ phpBenelux 2011Caching and tuning fun for high scalability @ phpBenelux 2011
Caching and tuning fun for high scalability @ phpBenelux 2011
 
Drupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case StudyDrupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case Study
 
Give Your Site a Boost with Memcache
Give Your Site a Boost with MemcacheGive Your Site a Boost with Memcache
Give Your Site a Boost with Memcache
 
Built-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIsBuilt-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIs
 
Zend Con 2008 Slides
Zend Con 2008 SlidesZend Con 2008 Slides
Zend Con 2008 Slides
 
Practical Tips for Novell Cluster Services
Practical Tips for Novell Cluster ServicesPractical Tips for Novell Cluster Services
Practical Tips for Novell Cluster Services
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
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
 
Data Grids with Oracle Coherence
Data Grids with Oracle CoherenceData Grids with Oracle Coherence
Data Grids with Oracle Coherence
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 

Más de Anis Berejeb

Advanced Date/Time Handling with PHP
Advanced Date/Time Handling with PHPAdvanced Date/Time Handling with PHP
Advanced Date/Time Handling with PHPAnis Berejeb
 
Mysqlnd Query Cache
Mysqlnd Query CacheMysqlnd Query Cache
Mysqlnd Query CacheAnis Berejeb
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qcAnis Berejeb
 
Barcelona 2010 hidden_features
Barcelona 2010 hidden_featuresBarcelona 2010 hidden_features
Barcelona 2010 hidden_featuresAnis Berejeb
 

Más de Anis Berejeb (9)

Perf tuning2
Perf tuning2Perf tuning2
Perf tuning2
 
Explain2
Explain2Explain2
Explain2
 
Advanced Date/Time Handling with PHP
Advanced Date/Time Handling with PHPAdvanced Date/Time Handling with PHP
Advanced Date/Time Handling with PHP
 
Mysqlnd Query Cache
Mysqlnd Query CacheMysqlnd Query Cache
Mysqlnd Query Cache
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qc
 
Mysql tracing
Mysql tracingMysql tracing
Mysql tracing
 
Mysql tracing
Mysql tracingMysql tracing
Mysql tracing
 
Ipc mysql php
Ipc mysql php Ipc mysql php
Ipc mysql php
 
Barcelona 2010 hidden_features
Barcelona 2010 hidden_featuresBarcelona 2010 hidden_features
Barcelona 2010 hidden_features
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

APC & Memcache the High Performance Duo