<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 25 May 2013 06:07:34 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Gonzalo Ayuso: Scaling Silex applications]]></title>
      <guid>http://www.phpdeveloper.org/news/19168</guid>
      <link>http://www.phpdeveloper.org/news/19168</link>
      <description><![CDATA[<p>
<i>Gonzalo Ayuso</i> has posted yet another <a href="http://gonzalo123.com/2013/02/11/scaling-silex-applications/">helpful Silex hint</a> for those using this microframework and wanting to scale up their applications past the prototype stage - an extension to allow route definition in a YAML configuration.
</p>
<blockquote>
My idea is to store this information within a Service Container (we will use Symfony's DIC). For example here we can [define] our routes.yml. [...] We need to implement one Extension for the alias "routes". We only will implement the needed functions for YAML files in this example.
</blockquote>
<p>
He includes the code for the extension ("SilexRouteExtension") that can be used to parse the "routes.yml" file to inject the custom routing into your application. This includes the pattern to match, the controller to route it to and the target method. You can also set some requirements like the request method (in this case "GET").
</p>]]></description>
      <pubDate>Tue, 12 Feb 2013 09:54:54 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[James Fuller: Simply scale with Nginx, Memcached, PHP-FPM and APC]]></title>
      <guid>http://www.phpdeveloper.org/news/19129</guid>
      <link>http://www.phpdeveloper.org/news/19129</link>
      <description><![CDATA[<p>
<i>James Fuller</i> has <a href="http://www.jblotus.com/2013/02/01/simply-scale-with-nginx-memcached-php-fpm-and-apc/">posted a guide to scaling</a> your web application using the nginx web server, memcached, PHP-FPM and APC caching.
<p>
<blockquote>
We sell an educational product that serves a predictable 15,000 requests per minute for 10+ hours/day, every day. Instead of Apache, we use nginx with <a href="http://www.php.net/manual/en/install.fpm.php">PHP-FPM</a> to handle this traffic. This is becoming a very popular setup for many companies with non-trivial traffic, but I have also found success with it in my small <a href="http://www.linode.com/?r=8ab874aa33b39b129030c8e53132a9d5ce87a06f">256MB Ram VPS</a>. For various reasons, nginx does a better job with memory and concurrent connection handling than Apache. In this post, I want to talk about some of the reasons you might want to go with this setup.
</blockquote>
<p>
He talks about some of the efficiency gains that memcache and nginx can give you pretty easily and some of the common uses for nginx, including using it as a reverse proxy. He talks some about Apache's typical request handling and shows the difference between that and how nginx does its "never block, finish fast" handling. He fits in the other pieces - PHP-FPM, memcached and APC - showing how each of them offers their own types of performance gains for different areas of the application.
</p>]]></description>
      <pubDate>Mon, 04 Feb 2013 10:46:01 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DeveloperWorld: How to make PHP apps scale]]></title>
      <guid>http://www.phpdeveloper.org/news/18005</guid>
      <link>http://www.phpdeveloper.org/news/18005</link>
      <description><![CDATA[<p>
On DeveloperWorld today there's <a href="http://www.infoworld.com/d/application-development/how-make-php-apps-scale-194176?page=0,0">a new article</a> talking about performance concerns and PHP application (and how your data source might be the problem).
</p>
<blockquote>
The power of PHP and an RDBMS is the ability to nail the major features of an application with cheaply paid developers in a record amount of time. Unfortunately, the default runtime environment used by PHP is simply an unscalable mess. [...] The truth is that if you have enough servers and enough database servers, you don't have contention. [...] As it turns out, there's a modern solution to the problem: the cloud plus NoSQL. Cloud infrastructure gives us the ability to spin up enough servers, and a NoSQL database enables us to shard our data effectively.
</blockquote>
<p>
They talk some about why they think PHP's runtine environment is "a dog" based on the non-native pooling of database connections and the lack of a thread-safe environment.
</p>
<blockquote>
The bottom line: PHP applications are a load on the database due to the constraints of the concurrency model.
</blockquote>
<p>
He points to the cloud architecture and NoSQL databases as solutions to the scalability problem, providing more scalable resources and flexible data sources.
</p>]]></description>
      <pubDate>Fri, 25 May 2012 13:19:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: From Zero to Cloud: Setting up an EC2 Sandbox, Part 3]]></title>
      <guid>http://www.phpdeveloper.org/news/16891</guid>
      <link>http://www.phpdeveloper.org/news/16891</link>
      <description><![CDATA[<p>
SitePoint's PHPMaster has a new post today, the third part of a series helping you get your application from "zero to cloud" on an Amazon EC2 setup. In <a href="http://phpmaster.com/from-zecro-to-cloud-3/">this latest post</a> they wrap things up by showing how to set up the full lamp stack on the remote server. <a href="http://phpmaster.com/from-zero-to-cloud-1/">Here's part one</a> and <a href="http://phpmaster.com/from-zero-to-cloud-2/">two</a> that lead up to this latest part.
</p>
<blockquote>
This is the final article in a three part series focused on setting up EC2 as a sandbox for application developers. I assume you have an AWS account with Amazon; if you don't, please read Part 1 to learn how easy it is to sign up. I also assume you have configured your development environment and installed an AMI; if you haven't, please read Part 2. In this installment, we'll learn how to install Apache, MySQL and PHP in our running AMI, and then clone the AMI to make our own.
</blockquote>
<p>
Included in the post are all the commands you'll need to get the packages installed for PHP, MySQL, Apache 2, PEAR and the PHP command line binary. With all of that installed, they show you how to create an <a href="http://aws.amazon.com/amis">AMI</a> (Amazon Machine Image) to make it easier to scale in the future. 
</p>]]></description>
      <pubDate>Thu, 22 Sep 2011 08:42:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Justin Carmony's Blog: Working with Middle-Scale Websites]]></title>
      <guid>http://www.phpdeveloper.org/news/16618</guid>
      <link>http://www.phpdeveloper.org/news/16618</link>
      <description><![CDATA[<p>
In a new post <i>Justin Carmony</i> looks at what it <a href="http://www.justincarmony.com/blog/2011/07/18/working-with-middle-scale-websites/">means to me a "middle-scale website"</a> and has some recommendations for anyone working with their applications and considering things like scalability, overcompensation and finding real results through profiling.
</p>
<blockquote>
Hopefully at some point, your website is going to get a lot of traffic. Yay, you've reached your goal of getting good traffic, but it is soon followed by issues with performance and load. I like to call these the growing pains of a website. So as a web developer, I suddenly have the epiphany of "Hey, I need to scale my website!" What follows next is the biggest mistake a web developer can make: They start looking at articles on how Google scales, or maybe how Facebook manages all of their traffic. This is a mistake! To be brutally honest, you are not Google. You are not Facebook. You are not Twitter. You are a website that receives less than 0.000001% of the traffic that some of the major websites receive.
</blockquote>
<p>
He includes a "reality check" of the setup behind a popular social site, <a href="http://stackexchange.com/">StackExchange</a>, with comments from their <a href="http://blog.serverfault.com/post/stack-exchanges-architecture-in-bullet-points/">own post about their infrastructure</a>. He talks about things included in a move to "middle-scale" like adding caching, performance tweaking, moving to a multiple server model and using replication.
</p>]]></description>
      <pubDate>Thu, 21 Jul 2011 11:53:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Maarten Balliauw's Blog: Windows Azure and scaling: how?]]></title>
      <guid>http://www.phpdeveloper.org/news/16096</guid>
      <link>http://www.phpdeveloper.org/news/16096</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Maarten Balliauw</i> (the third part of a series) looks at how you can <a href="http://blog.maartenballiauw.be/post/2011/03/24/Windows-Azure-and-scaling-how-(PHP).aspx">use Azure to scale</a> your PHP-based application dynamically using the latest version of the <a href="http://phpazure.codeplex.com/SourceControl/list/changesets">Windows Azure SDK for PHP</a>. His example creates a simple shell script that can scale up or down your instances with one call.
</p>
<blockquote>
One of the key ideas behind cloud computing is the concept of scaling.Talking to customers and cloud enthusiasts, many people seem to be unaware about the fact that there is great opportunity in scaling, even for small applications. 
</blockquote>
<p>
Using <a href="http://phpazure.codeplex.com/SourceControl/list/changesets">the SDK</a>, he shows how to create the command-line tool buy craeting a management client and setting up the command line parameters to give to the setInstanceCountBySlot() method. This gives you the ability to spawn off as many new "slots" (instances) as you might need quickly and easily.
</p>]]></description>
      <pubDate>Thu, 24 Mar 2011 12:10:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Bollysite Blog: PHP xcache performance tuning tutorial on Lighttpd]]></title>
      <guid>http://www.phpdeveloper.org/news/15007</guid>
      <link>http://www.phpdeveloper.org/news/15007</link>
      <description><![CDATA[<p>
In a new post to the Bollysite Blog there's a look at how to <a href="http://blog.bollysite.com/2010/08/21/php-xcache-performance-tuning-tutorial-on-lighttpd/">get better performance</a> out of your Lighttpd web server with xcache.
</p>
<blockquote>
A typical PHP application and most of the frameworks uses "The Loop" method to code the website. Whenever request comes to website, It's typically sent to index page to handle every parameters. [...] We can use xcache variables to store entire web page and serve it from RAM.
</blockquote>
<p>
They include some basic benchmarks showing the impact that caching an have on a site as well as code that you can use to integrate their xcache library into your site. The library uses the <a href="http://xcache.lighttpd.net">XCache</a> functionality to store the rendered output of the page for a default of three hours time.
</p>]]></description>
      <pubDate>Mon, 23 Aug 2010 10:14:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: ZendCon Sessions Ep. 29: PHP - Faster & Cheaper. Scale Vertically with IBM i]]></title>
      <guid>http://www.phpdeveloper.org/news/13755</guid>
      <link>http://www.phpdeveloper.org/news/13755</link>
      <description><![CDATA[<p>
New on the Zend Developer Zone there's <a href="http://devzone.zend.com/article/11541-The-ZendCon-Sessions-Episode-29-PHP-Faster-And-Cheaper.-Scale-Vertically-with-IBM-i">the latest episode</a> of the ZendCon Sessions (as recorded at ZendCon 2009). This episode is a talk <i>Sam Hennessey</i> gave on scaling vertically with IBM i.
</p>
<blockquote>
Welcome to the ZendCon 2009 edition of the ZendCon Sessions. The ZendCon Sessions are live recordings of sessions that have been given at previous Zend Conferences. Combined with the slides, they can be the next best thing to having attended the conference itself. [...] This episode of The ZendCon Sessions was recorded live at <a href="http://zendcon.com/">ZendCon 2009</a> in San Jose, CA and features <a href="http://twitter.com/samhennessy">Sam Hennessey</a> giving his talk: "PHP - Faster And Cheaper. Scale Vertically with IBM i"
</blockquote>
<p>
There's three ways to catch this latest episode - you can either listen via the <a href="http://devzone.zend.com/article/11541-The-ZendCon-Sessions-Episode-29-PHP-Faster-And-Cheaper.-Scale-Vertically-with-IBM-i">in-page player</a>, <a href="http://devzone.zend.com/content/audio/zendcon_sessions/zendcon_sessions_podcast_029.mp3">download the mp3 directly</a> or subscribe to the <a href="http://feeds.feedburner.com/zendcon_sessions?format=xml">ZendCon Sessions feed</a> and get the latest episodes automatically. Be sure to check out <a href="http://www.slideshare.net/SamHennessy/php-faster-and-cheaper-scale-vertically-with-ibm-i">the slides</a> too!
</p>]]></description>
      <pubDate>Thu, 31 Dec 2009 10:32:21 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: PHP - Faster And Cheaper. Scale Vertically with IBM Power Systems]]></title>
      <guid>http://www.phpdeveloper.org/news/13158</guid>
      <link>http://www.phpdeveloper.org/news/13158</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today <i>Sam Hennessy</i> has <a href="http://devzone.zend.com/article/8735-PHP-Faster-And-Cheaper.-Scale-Vertically-with-IBM-Power-Systems">posted some information</a> about how the IBM Power Systems can help you and your PHP application both perform better and do it for less.
</p>
<blockquote>
If you're from the LAMP world, the concept of vertically scaling with a system like the i5 (IBM Power Systems) will be a complete revelation. If you follow the vertical scaling methodology, when it comes time to design how your application will scale, there is nothing for you to do. 
</blockquote>
<p>
With the i5 series all of the software runs locally and can be optimized for the best performance ("reduced complexity"). Virtual machines on the same physical machine make it quick and easy to create separate environments (like QA or staging). The system does a lot of the common maintenance tasks itself and could require less attention from the IT admins. You can find out more information about these machines from <a href="http://www-03.ibm.com/systems/power/">the IBM website</a>.
</p>]]></description>
      <pubDate>Thu, 03 Sep 2009 08:02:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage's Blog: Scaling Up: Reducing Drag, Increasing Lift]]></title>
      <guid>http://www.phpdeveloper.org/news/12014</guid>
      <link>http://www.phpdeveloper.org/news/12014</link>
      <description><![CDATA[<p>
<i>Brandon Savage</i> has posted <a href="http://www.brandonsavage.net/scaling-up-reducing-drag-increasing-lift/">the next article</a> in his "Scaling Up" series, a look at reducing the amount of "drag" your application makes through its processing path and some tips to help increase its "lift" out of some common problems.
</p>
<blockquote>
The intuitive will note that many if not most of these suggestions are performance enhancements, not scaling techniques. Why then are they in an series about scaling? Scaling is about more than just adding hardware. It's also about making sure your system runs better. You can add lots and lots of hardware but you will someday be unable to compensate for bad queries and poor optimization.
</blockquote>
<p>
Some of his suggestions include taking care of any sort of errors or notices (anything that could slow the script down by writing to a log), defining virtual hosts instead of making excessive use of .htaccess files and installing caching software to maximize code and information reuse.
</p>]]></description>
      <pubDate>Tue, 24 Feb 2009 15:13:15 -0600</pubDate>
    </item>
  </channel>
</rss>
