Category: Performance & Scaling

Containerized PHP Development Environments with Vagga

It happens to all of us once in a while. We clone a project, and then we try to run it. However, something doesn’t work.It may be our version of NGINX or Apache. It might be that npm isn’t doing something right. Maybe the project needs an extension, and we don’t have it installed, and now we have to build the e...

Running an Elastic LAMP Stack on AWS

This article introduces what is probably one of the simplest ways of setting up and running an elastic LAMP stack on the cloud – using Zend Server on AWS.Note: to be clear elastic does not refer to ElasticSearch here. More specifically, the workflow described here includes launching a pre-configured AWS CloudFo...

Glide: Easy Dynamic on-Demand Image Resizing

Glide is an image processing library built on top of Intervention. Its purpose is to facilitate on-demand image processing. That’s a fancy way of saying it creates images as they’re requested if they don’t exist. For example, you might have a large, high quality portrait for your user profile. But when opening o...

Websockets in Your Synchronous Site

I’m always yammering on about writing asynchronous PHP code, and for a reason. I think it’s healthy to get fresh perspectives – to be exposed to new programming paradigms. Asynchronous architecture is common in other programming languages, but it’s only just finding its feet in PHP. The trouble is that this...

Appserver – Server Configuration, Dir Structure and Threads

In the first part of our Appserver series, we discussed the very high level differences of Appserver’s architecture to standard web server stacks and got you up and running with an Appserver instance. If you missed that part, please take the time to read it.In this part, we will be exploring the Appserver architect...

Can PHP Be Even Faster? Light-Speed with the Blink Framework

Lumen, Silex, Slim, etc. you’ve heard of all of them. In this article, we’ll take a look at a newcomer called Blink.Blink was built to improve high performance applications that consume a lot of server resources, and it uses the Swoole PHP extension to achieve this goal. As an example, we will build a Blink power...

An in-Depth Walkthrough of Supercharging Apps with Blackfire

No one hates robust and scalable applications, especially when the database is growing quickly, and millions of requests need to be served on a daily basis. Profiling is a form of program analysis to measure the time and resources consumed by the program. With profiling, we can spot the performance bottlenecks in the c...

Easy Continuous Delivery with ContinuousPHP and Zend Server

The continuous delivery approach aims at making the process of continuously deploying code to production error-free, or at least less error-prone, using automated tasks, tests, builds and deployments. Minimize risk and downtime, maximize quality and value. That’s the motto.However, this process is not always straig...

Using the RulerZ Rule Engine to Smarten up Playlist Building

I can give iTunes a few rules, and it will update the list of playlist tracks based on those rules, without me having to think about how it is doing that.But how does it do this? How does it build my simple rules into a filter for tracks? When I tell it things like; “give me everything from The Glitch Mob, produced...

Memory Performance Boosts with Generators and Nikic/Iter

Arrays, and by extension iteration, are fundamental parts to any application. And like the complexity of our applications, how we use them should evolve as we gain access to new tools. New tools, like generators, for instance. First came arrays. Then we gained the ability to define our own array-like things (called ite...