SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Apc & Memcached
the High-
Performance Duo
Barcelona 2010
Ilia Alshanetsky
1Saturday, October 30, 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
2Saturday, October 30, 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
3Saturday, October 30, 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!
4Saturday, October 30, 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");
}
5Saturday, October 30, 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
6Saturday, October 30, 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”)
7Saturday, October 30, 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
8Saturday, October 30, 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
9Saturday, October 30, 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
10Saturday, October 30, 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
11Saturday, October 30, 2010
Memcache vs Memcached
• Memcached Advantages
• Faster
• Igbinary serializer
• fastlz compression
• Multi-Server Interface
• Fail-over callback support
12Saturday, October 30, 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!
}
13Saturday, October 30, 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");
}
14Saturday, October 30, 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");
}
15Saturday, October 30, 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.
16Saturday, October 30, 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’ => …))
17Saturday, October 30, 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');
18Saturday, October 30, 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));
19Saturday, October 30, 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.
20Saturday, October 30, 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();
21Saturday, October 30, 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);
22Saturday, October 30, 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)
23Saturday, October 30, 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
24Saturday, October 30, 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
25Saturday, October 30, 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
);
26Saturday, October 30, 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
	
  	
  	
  	
  	
  	
  	
  	
  )
)
27Saturday, October 30, 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
28Saturday, October 30, 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
29Saturday, October 30, 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
30Saturday, October 30, 2010
It is not perfect because?
• Slower then APC, especially for array storage
• Requires external daemon
• You can forget about it on
shared hosting
31Saturday, October 30, 2010
That’s all folks
Any Questions?
Slides at: http://ilia.ws
32Saturday, October 30, 2010

Contenu connexe

Tendances

Memcached Presentation @757rb
Memcached Presentation @757rbMemcached Presentation @757rb
Memcached Presentation @757rbKen Collins
 
Php user groupmemcached
Php user groupmemcachedPhp user groupmemcached
Php user groupmemcachedJason Anderson
 
Two single node cluster to one multinode cluster
Two single node cluster to one multinode clusterTwo single node cluster to one multinode cluster
Two single node cluster to one multinode clustersushantbit04
 
Kickin' Ass with Cache-Fu (without notes)
Kickin' Ass with Cache-Fu (without notes)Kickin' Ass with Cache-Fu (without notes)
Kickin' Ass with Cache-Fu (without notes)err
 
Kickin' Ass with Cache-Fu (with notes)
Kickin' Ass with Cache-Fu (with notes)Kickin' Ass with Cache-Fu (with notes)
Kickin' Ass with Cache-Fu (with notes)err
 
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
 
Multithreading with Boost Thread and Intel TBB
Multithreading with Boost Thread and Intel TBBMultithreading with Boost Thread and Intel TBB
Multithreading with Boost Thread and Intel TBBPatrick Charrier
 
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
 
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
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalabilityWim Godden
 
An example Hadoop Install
An example Hadoop InstallAn example Hadoop Install
An example Hadoop InstallMike Frampton
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined DatacenterNETWAYS
 
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
 
Running hadoop on ubuntu linux
Running hadoop on ubuntu linuxRunning hadoop on ubuntu linux
Running hadoop on ubuntu linuxTRCK
 
Introduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShellIntroduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShellHal Rottenberg
 
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...Codemotion
 
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platformDrupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platformHector Iribarne
 
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
 

Tendances (20)

Memcached Presentation @757rb
Memcached Presentation @757rbMemcached Presentation @757rb
Memcached Presentation @757rb
 
Php user groupmemcached
Php user groupmemcachedPhp user groupmemcached
Php user groupmemcached
 
Two single node cluster to one multinode cluster
Two single node cluster to one multinode clusterTwo single node cluster to one multinode cluster
Two single node cluster to one multinode cluster
 
Kickin' Ass with Cache-Fu (without notes)
Kickin' Ass with Cache-Fu (without notes)Kickin' Ass with Cache-Fu (without notes)
Kickin' Ass with Cache-Fu (without notes)
 
Kickin' Ass with Cache-Fu (with notes)
Kickin' Ass with Cache-Fu (with notes)Kickin' Ass with Cache-Fu (with notes)
Kickin' Ass with Cache-Fu (with notes)
 
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
 
Multithreading with Boost Thread and Intel TBB
Multithreading with Boost Thread and Intel TBBMultithreading with Boost Thread and Intel TBB
Multithreading with Boost Thread and Intel TBB
 
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
 
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
 
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
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
 
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
 
An example Hadoop Install
An example Hadoop InstallAn example Hadoop Install
An example Hadoop Install
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined Datacenter
 
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
 
Running hadoop on ubuntu linux
Running hadoop on ubuntu linuxRunning hadoop on ubuntu linux
Running hadoop on ubuntu linux
 
Introduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShellIntroduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShell
 
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
 
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platformDrupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
 
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
 

En vedette

张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式isnull
 
Designofhtml5
Designofhtml5Designofhtml5
Designofhtml5isnull
 
Persuasive email programs Brandworks 2010
Persuasive email programs Brandworks 2010Persuasive email programs Brandworks 2010
Persuasive email programs Brandworks 2010Silverpop
 
Top Task Content & Design: A Strategy for Website Marketing Success
Top Task Content & Design: A Strategy for Website Marketing SuccessTop Task Content & Design: A Strategy for Website Marketing Success
Top Task Content & Design: A Strategy for Website Marketing SuccessBob Johnson, Ph.D.
 
我的Ubuntu之旅
我的Ubuntu之旅我的Ubuntu之旅
我的Ubuntu之旅isnull
 
阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训isnull
 
雷志兴 百度前端基础平台与架构分享
雷志兴 百度前端基础平台与架构分享雷志兴 百度前端基础平台与架构分享
雷志兴 百度前端基础平台与架构分享isnull
 
Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimizationMysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimizationisnull
 
杨皓 新浪博客前端架构分享
杨皓 新浪博客前端架构分享杨皓 新浪博客前端架构分享
杨皓 新浪博客前端架构分享isnull
 
Data on the web
Data on the webData on the web
Data on the webisnull
 
Daniela Barcelo Creative Director Portfolio 2014
Daniela Barcelo Creative Director Portfolio 2014Daniela Barcelo Creative Director Portfolio 2014
Daniela Barcelo Creative Director Portfolio 2014Daniela Barceló
 

En vedette (13)

5 S Appalosa
5 S  Appalosa5 S  Appalosa
5 S Appalosa
 
Ants Life Story -6
Ants Life Story -6Ants Life Story -6
Ants Life Story -6
 
张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式
 
Designofhtml5
Designofhtml5Designofhtml5
Designofhtml5
 
Persuasive email programs Brandworks 2010
Persuasive email programs Brandworks 2010Persuasive email programs Brandworks 2010
Persuasive email programs Brandworks 2010
 
Top Task Content & Design: A Strategy for Website Marketing Success
Top Task Content & Design: A Strategy for Website Marketing SuccessTop Task Content & Design: A Strategy for Website Marketing Success
Top Task Content & Design: A Strategy for Website Marketing Success
 
我的Ubuntu之旅
我的Ubuntu之旅我的Ubuntu之旅
我的Ubuntu之旅
 
阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训
 
雷志兴 百度前端基础平台与架构分享
雷志兴 百度前端基础平台与架构分享雷志兴 百度前端基础平台与架构分享
雷志兴 百度前端基础平台与架构分享
 
Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimizationMysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimization
 
杨皓 新浪博客前端架构分享
杨皓 新浪博客前端架构分享杨皓 新浪博客前端架构分享
杨皓 新浪博客前端架构分享
 
Data on the web
Data on the webData on the web
Data on the web
 
Daniela Barcelo Creative Director Portfolio 2014
Daniela Barcelo Creative Director Portfolio 2014Daniela Barcelo Creative Director Portfolio 2014
Daniela Barcelo Creative Director Portfolio 2014
 

Similaire à Barcelona apc mem2010

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
 
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
 
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
 
Drupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case StudyDrupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case Studyhernanibf
 
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
 
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
 
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
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarOrient Technologies
 
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
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialWim Godden
 
Itb session v_memcached
Itb session v_memcachedItb session v_memcached
Itb session v_memcachedSkills Matter
 
Zend Con 2008 Slides
Zend Con 2008 SlidesZend Con 2008 Slides
Zend Con 2008 Slidesmkherlakian
 
Scalability at GROU.PS
Scalability at GROU.PSScalability at GROU.PS
Scalability at GROU.PSesokullu
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!WordCamp Cape Town
 
Persistence patterns for containers
Persistence patterns for containersPersistence patterns for containers
Persistence patterns for containersStephen Watt
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesAmazon Web Services
 

Similaire à Barcelona apc mem2010 (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
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisation
 
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
 
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
 
Drupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case StudyDrupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case Study
 
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 ...
 
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
 
Apc Memcached Confoo 2011
Apc Memcached Confoo 2011Apc Memcached Confoo 2011
Apc Memcached Confoo 2011
 
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 ...
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - Webinar
 
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
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorial
 
Itb session v_memcached
Itb session v_memcachedItb session v_memcached
Itb session v_memcached
 
Zend Con 2008 Slides
Zend Con 2008 SlidesZend Con 2008 Slides
Zend Con 2008 Slides
 
Scalability at GROU.PS
Scalability at GROU.PSScalability at GROU.PS
Scalability at GROU.PS
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
Persistence patterns for containers
Persistence patterns for containersPersistence patterns for containers
Persistence patterns for containers
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
 

Plus de isnull

站点报告模板
站点报告模板站点报告模板
站点报告模板isnull
 
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规isnull
 
基于Web的项目管理工具redmine
基于Web的项目管理工具redmine基于Web的项目管理工具redmine
基于Web的项目管理工具redmineisnull
 
张勇 搜搜前端架构
张勇 搜搜前端架构张勇 搜搜前端架构
张勇 搜搜前端架构isnull
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化isnull
 
软件工程&架构
软件工程&架构软件工程&架构
软件工程&架构isnull
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践isnull
 
183银行服务器下载说明
183银行服务器下载说明183银行服务器下载说明
183银行服务器下载说明isnull
 
人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析isnull
 
Tsung
Tsung Tsung
Tsung isnull
 
Dutch php conference_2010_opm
Dutch php conference_2010_opmDutch php conference_2010_opm
Dutch php conference_2010_opmisnull
 
Yui3 初探
Yui3 初探Yui3 初探
Yui3 初探isnull
 
大型应用软件架构的变迁
大型应用软件架构的变迁大型应用软件架构的变迁
大型应用软件架构的变迁isnull
 
易趣
易趣易趣
易趣isnull
 

Plus de isnull (16)

站点报告模板
站点报告模板站点报告模板
站点报告模板
 
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规
 
基于Web的项目管理工具redmine
基于Web的项目管理工具redmine基于Web的项目管理工具redmine
基于Web的项目管理工具redmine
 
张勇 搜搜前端架构
张勇 搜搜前端架构张勇 搜搜前端架构
张勇 搜搜前端架构
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化
 
软件工程&架构
软件工程&架构软件工程&架构
软件工程&架构
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
 
Scrum
ScrumScrum
Scrum
 
Scrum
ScrumScrum
Scrum
 
183银行服务器下载说明
183银行服务器下载说明183银行服务器下载说明
183银行服务器下载说明
 
人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析
 
Tsung
Tsung Tsung
Tsung
 
Dutch php conference_2010_opm
Dutch php conference_2010_opmDutch php conference_2010_opm
Dutch php conference_2010_opm
 
Yui3 初探
Yui3 初探Yui3 初探
Yui3 初探
 
大型应用软件架构的变迁
大型应用软件架构的变迁大型应用软件架构的变迁
大型应用软件架构的变迁
 
易趣
易趣易趣
易趣
 

Dernier

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Dernier (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

Barcelona apc mem2010