Author's words of wisdom

On March 16, the new versions of php, namely v7.0.17 and v7.1.3, were released. This is good news for many php developers, but for us it has an extra meaning, because our patch has been accepted there. The patch that fixes ‘keep-alive’ connections in php-fpm sapi.

Php-fpm first appeared as a separate patch for php 5.2, adding a manager for fastcgi processes, that allows you to organize individual pools, monitors the execution times of workflows and much more. In the php 5.4 branch it was accepted as an official sapi, which mean we didn’t need to apply this patch every time a new bugfix version of php arrived.


In our projects, when returning videos from servers, the question of disk subsystem efficiency comes up. Obviously, gigabit network interfaces are more efficient than, say, a 2 disk RAID 0. If video clips shared the same popularity, then hard disks would be a bottleneck when returning content.

We, however, have been lucky and there has always been a small set of clips which make up 80% of the traffic and a long line of less-frequently-accessed clips. This small set subsides in the file system’s cache and is returned practically without any disk activity.

For example, if we have 100 gigabytes of clips on a server, and the server has 24 gigs of memory, then we can draw this graph. Along the horizontal line, we have files sorted by popularity; along the vertical line, we have traffic caused by these files. The total traffic is the surface area under the line.

We have customers and partners in different countries, and not all of them can comfortably communicate in English. We use trac for bug tracking and documentation. So we wrote and maintain a plugin for trac, that uses Google Translate to translate ticket descriptions and user comments to the language specified in the user preferences.


The plugin home page.

Please try it out!

In continuing our tradition of “in simple words about complex”, and considering we do a lot of work on projects related to video content on the Internet, I want to address some questions about codecs and containers we get from our clients.

We’ll start with the fact that media information (video and audio) must be saved in a digital format, and it would be good if it were saved in a compressed format. Codecs do this (codec, coder-decoder). They convert media information into digital streams and back.


It shall be said that formally, codecs are the implementation of a coding/decoding standard, or in other words, a program or algorithm. Still, codecs are sometimes referred to as the coding standard.