SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Solving the C20K Problem: 
PHP Performance and Scalability
Kuassi Mensah, Group Product Manager 
Oracle Corporation
The C20K Problem 
Genesis: the C10K Problem

• Circa 2003: “How to write a server which can handle 
  10.000 parallel connections”
• http://www.kegel.com/c10k.html
The C20K Problem

• Can a single commodity database server handle 20K 
  simultaneous PHP users? 




              …
Solving C20K with Built­In Database  
    Mechanisms in PHP
•   Database Resident Connection Pool
•   Query Change Notification
•   Client­side Query Result Cache
•   Scaling with Stored Procedures
•   Database Built­in Partitioning
•   Scaling Very Complex Queries
•   Scaling Queries with Advanced Data Compression
•   Database Failover
•   Case Study: Community Connect
<Insert Picture Here>



Database Resident 
 Connection Pool
PHP Lacks Proper Connection Pool

Current choices: 
2. Persistent Connections
     •      Connection not automatically closed at                              
            script  completion
     • Fast for subsequent connections but 
            holds resources when application idle 
     ⇒ Over­allocation – Waste of system resources


•        Non Persistent Connections
     • Connection closed at script completion
     ⇒ High connect times                                                 
     ⇒ Unnecessary connect/disconnect CPU load
Database Resident Connection Pool  
                                     Dedicated servers
Connection           Connection 
                       Broker
( DB handle)

                                         Session
                                          Session
                                            Session
                                      (User Handle)
                                             Session
                               1       (User Handle)
                                              Session
                                        (User Handle)
                                          (User Handle)
                                           (User Handle)
               Oracle Net

                     2

 • Pool of dedicated servers
 • (1) Server allocated/locked on  Appl. Connect 
 • (2) Direct server access after handoff
 • (3) Server released on Appl. ConnClose .
 • No man­in­the­middle, low latency
Database Resident Connection Pool

 • Pools a set of dedicated servers on each database
   instance 
 • Designed primarily for  process systems (PHP)
    1/ Just Change the Connect String 
<?php
$c = oci_pconnect(quot;phpwebquot;, quot;phpwebquot;, quot;//localhost/orcl:pooledquot;);
$s = oci_parse($c, 'select * from employees');
oci_execute($s);
oci_fetch_all($s, $res);
var_dump($res);
?>

     2/ Zero code change: change TNS alias

 • Currently in OCI, C/C++, PHP (OCI8), Python
DRCP in Action – PHP Connection
                                                        Pooled Database 
                                                            Servers

                                       3                                   Busy Server
                                                                            Idle Server
    PHP
                                                                           PGA memory
                                                                           Session memory
              oci
                  _   pco
                         n   nec
                                 t()
                                           35k                               Idle Server




                       1                            2
Apache Processes                                              .
                                                              .
                                           35k
                                                              .
                                   )
                                ct(
                           ne
                         on
                       c               Connection
                    i_p
               oc
    PHP                                  Broker
DRCP in Action – Closing Connection
                                               Pooled Database 
                                                   Servers

               oci_close()                                         Busy Server
    PHP
                                                                  PGA memory
                                  Connection                      Session memory
                                    Broker
                                                                   Idle Server
                                    35k


                    4
Apache Processes                                       .
                                                       .
    PHP                             35k
                                                       .
                   oci_close() 
DRCP in Action – After Close
                                          Pooled Database 
                                              Servers

                                                              Idle Server
    PHP
                                                             PGA memory
                             Connection                      Session memory
                socket         Broker
              connection 
                                                              Idle Server
                               35k



                   5
Apache Processes                                  .
                                                  .
    PHP                        35k
                                                  .



                 socket 
               connection 
Configuring and Starting DRCP 

•       Configure the Pool (Optional) 
      SQL> execute dbms_connection_pool.configure_pool(pool_name       
                                =>       'SYS_DEFAULT_CONNECTION_POOL',
                     minsize                         => 4,
                     maxsize                         => 40,
                     incrsize                        => 2,
                     session_cached_cursors          => 20,
                     inactivity_timeout              => 300,
                     max_think_time                  => 600,
                     max_use_session                 => 500000,
                     max_lifetime_session            => 86400);

•       Start the pool
        SQL> execute dbms_connection_pool.start_pool(); 
C20K, Yes We Did!
 PHP DRCP Benchmark
• PHP script
  • connect, query, disconnect, sleep 1 second
• Database Server
  • Dual CPU Intel P4/Xeon ­­ 3.00GHz ­ 2GB RAM
  • 32bit Red Hat Enterprise Linux 4
• DRCP
  • 100 pooled servers, one connection broker
  • 0.5% nb users simultaneously active 
• PHP Hosts
  • 3  machines similar to Db Server
  • Apache
• PHP DRCP Whitepaper: http://tinyurl.com/554cz4
C20K, Yes We Did!
PHP DRCP Benchmark ­ Throughput
C20K, Yes We Did!
PHP DRCP Benchmark ­ Memory
<Insert Picture Here>



Query Change Notification
Built­in Query Change Notification 

Problem to solve:
Be notified when changes in the database invalidates 
an existing query result set
                                                            2.Upon  Change 
                                                            (DMLImpacting 
 <?php
                                                            the result set)
 …                    Callout
 4.Invalidate cache
 5.repopulate cache
 …
 ?>
                                                            1. Register
                                                            the query
                                3.Automatic 
   Custom cache                    Notification 
                                  (Java or PL/SQL database job
                                   as noificaion handler)
<Insert Picture Here>



Client­Side Query Result Cache
MemCached 
query = quot;select name, address, phone, acctbal from custumer,
nation where c_nationkey= n_nationkey;
key = md5($query);
If (serval=$memcache->get($key) {
    res = oci_execute($query)
                                     Problems
    ser = serialize($res);
    memcache->set($key, $ser);       • Cache Invalidation
}                                    • Additional 
res = unserialize($serval);            Memcached Servers

                                      MemCached


                 PHP




               Database
Built­in Client Query Result Cache  
$query = quot;select /*+ RESULT_CACHE */ name,
address, phone, acctbal from customer, nation
where c_nationkey=n_nationkey;




                     PHP




                   Database

• May be Faster than Memcached !
• No additional cache server(s)  but process level cache
• Automatic Cache Invalidation 
• Transparent OCI, PHP, Ruby, ODP.Net, ODBC, JDBC 
Configuring Client Query Result Cache 

1/ Configure the Cache
    Database Server Configuration (init.ora)
    client_result_cache_size=200M
    client_result_cache_lag=5000
   
   Client Configuration (sqlnet.ora) 
    OCI_QUERY_CACHE_SIZE=200M
    OCI_QUERY_CACHE_MAXROWS=20


2/ Caching the Result Set
    Using Hints
    select /*+ result_cache */ * from employees

       Alternatively, at Table level  
     alter table emp result_cache (mode force);
Client Query Result Cache
            5­8 x Faster
900%

800%

700%

600%

500%

400%

300%

200%

100%

 0%
       10          100     1000
<Insert Picture Here>



Scaling with Stored Procedures
Stored Procedures instead of Multiple 
Unique Statements
                      Stored Procedures (PL/SQL or Java)
  Unique Statements

                              PHP
    PHP
                                   Stored Procedure
                                   Call
             Calls

                                 Java
                         JDBC
                         Calls


                                 SQL
       SQL
                        Faster, up to 10X! 
PHP Bulk Insert  

function do_transactional_insert($conn, $array)
{
    $s = oci_parse($conn,
           'insert into ptab (pdata) values (:bv)');
    oci_bind_by_name($s, ':bv', $v, 20, SQLT_CHR);
    foreach ($array as $v)
      $r = oci_execute($s, OCI_DEFAULT);
    oci_commit($con);
}

Elapsed time: 8 millisec 
PHP Bulk Insert with Stored Procedure

function do_bulk_insert($conn, $array)
{
    $s = oci_parse($conn,
             'begin mypkg.myproc(:c1); end;');
    oci_bind_array_by_name($s, quot;:c1quot;, $array,
             count($array), -1, SQLT_CHR);
    oci_execute($s);
}



Elapsed time: 2 millisec (4X speed up; may vary!) 
 
PL/SQL Stored Proc. (Bulk insert)
create or replace package mypkg as
 type arrtype is table of varchar2(20)
    index by pls_integer;
 procedure myproc(p1 in arrtype);
end mypkg;
create or replace package body mypkg as
 procedure myproc(p1 in arrtype) is
 begin
    forall i in indices of p1
      insert into ptab values (p1(i));
 end myproc;
end mypkg;
Using Java Stored Procedures in PHP 

•    Secure Credit­Card Processing     • Implement Parsers for various File 
     using JSSE                          Formats (txt, zip, xml, binary)
•    Custom Alert applications that    • Implement Image Transformation and 
     monitor business data               Format Conversion (GIF, PNG, 
•    Sending emails with attachment      JPEG, etc)
     from within the database
                                       • Implement database­resident Content 
•    Produce PDF files from Result 
                                         Management System
     Set
                                       • HTTP Call­Out
•    Execute external OS commands 
                                       • JDBC Call­Out
     and external procedures
•    Implement Md5 CRC                 • RMI Call­Out to SAP
•    Publish Repository Content to     • Web Services Call­Out
     Portal
                                       • Messaging across Tiers
•    Portable Logistic Applications
                                       • RESTful Database Web Services*
                                       • Db Resident Lucene*


                                       * http://marceloochoa.blogspot.com/
<Insert Picture Here>



Database Built­in Partitioning
Built­in Partitioning 


                              Orders
                      Line
Inventory            Items
            Orders             Jan

                                       Orders


                                        Feb
Back                  Pick                      Orders
Orders                Lists


                                                 Mar
<Insert Picture Here>



Scaling Very Complex SQL 
         Queries 
Scaling Very Complex SQL Queries 

Problem to Solve: Query Sales and Quantity by Year,
Department, Class and Country

The SQL Query 
SELECT SUM(s.quantity) AS quantity, SUM(s.sales) AS sales,
    t.calendar_year_name, p.department_name, c.class_name,
    cu.country_name
FROM times t, products p, channels c, customers cu,
   sales_fact s
WHERE p.item_key = s.product AND s.day_key = t.day_key AND
       s.channel = c.channel_key AND
       s.customer = cu.customer_key
GROUP BY p.department_name, t.calendar_year_name,
   c.class_name, cu.country_name;
Built­in OLAP Engine
PHP
Cube Organized Materialized Views
  Transparent to SQL Queries

                                            Materialized Views
          SQL Query

Region                 Date



                                Query
                                Rewrite



Product               Channel
                                Automatic       OLAP Cube
                                 Refresh
<Insert Picture Here>



Scaling with Advanced Data 
       Compression
Scaling w. Advanced Data Compression
             Going Green 
                                                             Storage 
                                  2500

                                                               Reduction
                                                             More than 70% (up to 4X) 
                                  2000
            Compression                                      Storage Savings
                                  1500




                             MB
       No Compression             1000


                                   500


                                     0




                   Table Scan Performance                    DML Performance
                                                                    Less than 
                                                                    3% Overhead
             0.4                                        40


                             2.5 x Faster
             0.3                            (seconds)   30
(seconds)




                                              Time 
  Time 




             0.2                                        20



             0.1                                        10



              0                                         0
Database Failover
Oracle Database 11g RAC 
Shared Disk Architecture
Fast Application Notification of Events

• Pub/Sub Event Notification (AQ based)
• High Availability feature for PHP with RAC or Data­ 
  Guard­with­physical­standby
• When DB node or network fails
  • Database generates FAN events
  • PHP error returned without TCP timeout delay
  • PHP application reconnect to surviving instance

• OCI8 1.3.1 Beta supports FAN
Database Failover – Application View




              Fast Connection Failover


  Invalid Connections              Valid Connections

     Inst x                              Inst y
Configuring Fast Application 
 Notification for PHP
• High Availability feature with RAC or DG
• Usable with or without DRCP
• Available from Oracle 10gR2
• OCI8 1.3 supports FAN 
5.Tell DB to broadcast FAN Events
   SQL> execute     
   dbms_service.modify_service(service_name =>'SALES', 
   aq_ha_notifications =>TRUE); 
6.Subscribe to FAN events 
   Example: Configure PHP for OCI8 to listen for FAN events
   oci8.events = On
7.Application to Re­connect
Database Failover in PHP 

When DB node or network fails
  • Database generates FAN events
  • Oracle error returned without TCP timeout delay
  • PHP application is not blocked for TCP timeout – it can 
    immediately reconnect to surviving DB instance

  $conn = doConnect();
  $err = doSomeWork($conn);
  if (isConnectionError($err)) {
    // reconnect, find what was committed, and retry
    $conn = doConnect();
    $err = checkApplicationStateAndContinueWork($conn);
  }
  if ($err) 
    handleError($err);
C(N*20)K Using DRCP and RAC

• Scale your database horizontally to N*C20K with N 
  RAC nodes!!
• DRCP starts on all RAC instances
• Same pool limits apply to each individual RAC 
  instance
  • min, max
  • number of brokers
  • max connections per broker
• DRCP connections benefit from TNS Listener 
  connection load balancing across RAC instances
  www.oracle.com/technology/tech/php/pdf/php­scalability­ha­twp.pdf
<Insert Picture Here>



      Case Study 
Community Connect Inc.  
Xtreme Scalability
   Web Scale PHP Deployment

BlackPlanet.com 
• 19+ million users
• 500+ millions pages views
    per month 
• 100+ web servers
• 10+ databases (incl. RAC)
• ~ 50,000 conc. Users
• Case Studied by Gartner
    http://tinyurl.com/dg6rxm
Oracle Technology Network 
    PHP Developer Center
• Free
• Articles
• Install guides
• Underground PHP 
  and Oracle Manual 
• Online forum
• PHP RPMs
• Oracle JDeveloper 
  10g PHP extension

                        otn.oracle.com/php 
Oracle Resources

• Free Oracle Techology Network (OTN)
  PHP Developer Center
     otn.oracle.com/php 
  • Underground PHP and Oracle Manual
  • Whitepapers, Articles, FAQs, links to blogs, JDeveloper
      PHP Extension, PHP RPMs
• Information
     kuassi.mensah@oracle.com
     christopher.jones@oracle.com
• SQL and PL/SQL Questions
     asktom.oracle.com
• ISVs and hardware vendors
       oraclepartnernetwork.oracle.com
Q & A
     Thank You

49

Contenu connexe

Tendances

Blue host openstacksummit_2013
Blue host openstacksummit_2013Blue host openstacksummit_2013
Blue host openstacksummit_2013Jun Park
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...elliando dias
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafAchim Nierbeck
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?Nuxeo
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APCBen Ramsey
 
Java Enterprise Edition Concurrency Misconceptions
Java Enterprise Edition Concurrency Misconceptions Java Enterprise Edition Concurrency Misconceptions
Java Enterprise Edition Concurrency Misconceptions Haim Yadid
 
Galera Multi Master Synchronous My S Q L Replication Clusters
Galera  Multi Master  Synchronous  My S Q L  Replication  ClustersGalera  Multi Master  Synchronous  My S Q L  Replication  Clusters
Galera Multi Master Synchronous My S Q L Replication ClustersPerconaPerformance
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Ryan Cuprak
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clustersSteve Feldman
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinJoshua Long
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on NetscalerMark Hillick
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)Kato Kiwamu
 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Jim Jagielski
 
Apache Commons Pool and DBCP - Version 2 Update
Apache Commons Pool and DBCP - Version 2 UpdateApache Commons Pool and DBCP - Version 2 Update
Apache Commons Pool and DBCP - Version 2 UpdatePhil Steitz
 
Tiery Eyed
Tiery EyedTiery Eyed
Tiery EyedZendCon
 

Tendances (18)

Blue host openstacksummit_2013
Blue host openstacksummit_2013Blue host openstacksummit_2013
Blue host openstacksummit_2013
 
Os Harkins
Os HarkinsOs Harkins
Os Harkins
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
 
Connection Pooling
Connection PoolingConnection Pooling
Connection Pooling
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 
Java Enterprise Edition Concurrency Misconceptions
Java Enterprise Edition Concurrency Misconceptions Java Enterprise Edition Concurrency Misconceptions
Java Enterprise Edition Concurrency Misconceptions
 
Galera Multi Master Synchronous My S Q L Replication Clusters
Galera  Multi Master  Synchronous  My S Q L  Replication  ClustersGalera  Multi Master  Synchronous  My S Q L  Replication  Clusters
Galera Multi Master Synchronous My S Q L Replication Clusters
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clusters
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and Vaadin
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!
 
Apache Commons Pool and DBCP - Version 2 Update
Apache Commons Pool and DBCP - Version 2 UpdateApache Commons Pool and DBCP - Version 2 Update
Apache Commons Pool and DBCP - Version 2 Update
 
Tiery Eyed
Tiery EyedTiery Eyed
Tiery Eyed
 

Similaire à Solving_the_C20K_problem_PHP_Performance_and_Scalability-phpquebec_2009

Solving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and ScalabilitySolving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and Scalabilitywebhostingguy
 
Solving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and ScalabilitySolving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and Scalabilitywebhostingguy
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Jim Jagielski
 
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for WindowsFord AntiTrust
 
DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)dpc
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesSeveralnines
 
Tracing the Breadcrumbs: Apache Spark Workload Diagnostics
Tracing the Breadcrumbs: Apache Spark Workload DiagnosticsTracing the Breadcrumbs: Apache Spark Workload Diagnostics
Tracing the Breadcrumbs: Apache Spark Workload DiagnosticsDatabricks
 
php & performance
 php & performance php & performance
php & performancesimon8410
 
PHP Oracle Web Applications by Kuassi Mensah
PHP Oracle Web Applications by Kuassi MensahPHP Oracle Web Applications by Kuassi Mensah
PHP Oracle Web Applications by Kuassi MensahPHP Barcelona Conference
 
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance TuningPyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance TuningGraham Dumpleton
 
Linux Power Management Slideshare
Linux Power Management SlideshareLinux Power Management Slideshare
Linux Power Management SlidesharePatrick Bellasi
 
PHP Performance with APC + Memcached
PHP Performance with APC + MemcachedPHP Performance with APC + Memcached
PHP Performance with APC + MemcachedFord AntiTrust
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance毅 吕
 

Similaire à Solving_the_C20K_problem_PHP_Performance_and_Scalability-phpquebec_2009 (20)

Solving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and ScalabilitySolving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and Scalability
 
Solving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and ScalabilitySolving the C20K Problem: PHP Performance and Scalability
Solving the C20K Problem: PHP Performance and Scalability
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
 
XS Boston 2008 Network Topology
XS Boston 2008 Network TopologyXS Boston 2008 Network Topology
XS Boston 2008 Network Topology
 
Orcale Presentation
Orcale PresentationOrcale Presentation
Orcale Presentation
 
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
 
Tbp
TbpTbp
Tbp
 
Tomcat 6: Evolving our server
Tomcat 6: Evolving our serverTomcat 6: Evolving our server
Tomcat 6: Evolving our server
 
MySQL Proxy tutorial
MySQL Proxy tutorialMySQL Proxy tutorial
MySQL Proxy tutorial
 
DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - Slides
 
Tracing the Breadcrumbs: Apache Spark Workload Diagnostics
Tracing the Breadcrumbs: Apache Spark Workload DiagnosticsTracing the Breadcrumbs: Apache Spark Workload Diagnostics
Tracing the Breadcrumbs: Apache Spark Workload Diagnostics
 
php & performance
 php & performance php & performance
php & performance
 
PHP Oracle Web Applications by Kuassi Mensah
PHP Oracle Web Applications by Kuassi MensahPHP Oracle Web Applications by Kuassi Mensah
PHP Oracle Web Applications by Kuassi Mensah
 
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance TuningPyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
 
Linux Power Management Slideshare
Linux Power Management SlideshareLinux Power Management Slideshare
Linux Power Management Slideshare
 
PHP Performance with APC + Memcached
PHP Performance with APC + MemcachedPHP Performance with APC + Memcached
PHP Performance with APC + Memcached
 
MySQL Proxy
MySQL ProxyMySQL Proxy
MySQL Proxy
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance
 

Plus de Hiroshi Ono

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipediaHiroshi Ono
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説Hiroshi Ono
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitectureHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 

Plus de Hiroshi Ono (20)

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipedia
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 

Dernier

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Solving_the_C20K_problem_PHP_Performance_and_Scalability-phpquebec_2009