I would like to share with you my session that I have performed on multiple events: DrupalCon Munich 2012, UA Mobile 2012, Drupal Camp Kyiv 2012, Drupal Camp Lviv 2012, Drupal Cafe Donetsk #1.
Here is a video from DrupalCon Munich 2012 (English, with Fabian):
It is on Pinterest too: http://pinterest.com/pin/240661173808850601/.
In one on my previous posts I wrote how to configure Drupal development environment in Ubuntu, in this post I am going to talk about performance on your localhost (PAE, APC and MySQL tuning). There is also another blog post about Tuning Drupal Performance for production which is a bit different thing.
My old laptop was broken last days so I quickly found a cheap replacement, which had a bit different insides: two AMD cores VS four Intell i3 cores and 4GB vs 3GB. I decided to try Linux Mint, which is said is better then Ubuntu. IMO for LAMP stack the name of the Linux distribution is not so important, because they are all working good now :) But you should decide which version of one to chose: 32 bit or 64 bit. In this post I found out that 64 bit Linux is better for development, but it could be not good enough for some applications, which could fail running on 64 bit Linux.
Memory utilization for 32 bit Linux
I decided to chose 32 bit version of Mint. But the first thing I noticed was 2.6GB of RAM was only available. That looked very weird and that was one of disadvantage of 32 bit system. When I was running full LAMP stack + IDE + Skype I saw almost almost all memory was used and some disk space were taken for swap. Fortunately good people wrote Physical Address Extension (PAE) which could be installed with the following command:
$ sudo apt-get install linux-generic-pae linux-headers-generic-pae
That worked good and then System Monitor showed 3.5 GB of RAM. Still not 4, but it could be a unit conversion issue. I am glad that swap is not being used and system is working faster now.
Configuring Alternative PHP Cache
A bit later I cloned a big project and I saw how hardly my machine was trying to handle requests, which used to slow down the system. So the way out was to install APC. Alternative PHP Cache is a free, open source framework that optimizes PHP intermediate code and caches data and compiled code from the PHP bytecode compiler in shared memory. In Mint or Ubuntu it could be installed with following command:
How often do you use dpm() function from Devel module? I guess, you are using it often, when you writing your own PHP code.
If you have ever printed a view object using dpm() function, you might know how difficult is to find anything in such big and recursive accordion.
I would like to show you one of the must-to-use module, called Search Krumo, which allows you to find a text in a Krumo accordion, printed by dpm() function.
After you entered the text to find, you can select, which Krumo object to use, and click the Submit button. Then you will get Krumo expanded with a highlighted text entries.
I held two sessions there. First one was about making Drupal distribution and second one was named "Open Source and You", which was presented by Yuriy Gerasimov and me together. We got much positive feedback right after this session, so I am pleased to show you the slides and hope it will help you to make first steps in the Open Source.
On 25-27th of November in Donetsk (Ukraine) there was DrupalCamp, an international event related to the content management system Drupal. The event gathered more the 170 people from Ukraine, Russia and Belarus. Venues of the DrupalCamp were conference-halls of Shachtar Plaza и Ramada hotels. While the conference there were 20 sessions, 5 BoFs, code-sprint and a party. Elloria rock band performed some Drupal songs, rock covers and their own themes. Slides and videos from the event will appear on the DrupalCamp website soon: http://donetsk.drupal.ua/.
I was very excited about attending DrupalCamp Kyiv 2011. It was awesomeness and the most fantastic Drupal event that I have ever visited in Eastern Europe. It had the same Drupal spirit as one was on DrupalCon Copenhagen 2010. Most of the slides were in English. Interesting sessions were performed by guys who worked in Belgium company Inuits, which was sponsoring students to attend this event.
I was visiting sessions about Services, MongoDB, Git, Varnish, participated in the small talk with Yuri Gerasimov about future of Menu Token module and performed two sessions. First one was about Best practices for cross-browser compatibility of Drupal website, which I prepared for DrupalCon Chicago 2011 and the second one was about OpenAcaDept – Drupal distribution for building academic departmental websites.
I was very happy to meet and to drink beer with some well known guys in Ukrainian community. They had made great contributions to d.o and at that time were seating in front of each other and having fun. I also liked talking to Michel and Safeen from MadCap.
I'm happy to announce that I'll be presenting the session, Best practices for cross-browser compatibility of Drupal website at DrupalCon Chicago!
This session is aimed to show the different ways of making your Drupal website to be cross-browser compatible. It includes overview of most often CSS issues and typical solutions that are done for Drupal:
- Conditional Comments
- CSS hacks
Following manual works perfectly for Ubuntu 11.04. It takes me about an hour to install all the things I need and configure them. There is also my other blog post about LAMP performance for Drupal on localhost.
Linux is a best choice to be Drupal development environment, the benefits of it are powerfull shell, perfect command line applications, a lot of web development software and manuals for linux, and finally free price of Open Source. Well, the best Linux distro, I guess, is Ubuntu. I have tried OpenSUSE ans ASP Linux before, they are good too, however Ubuntu is the best. You can find many articles glorifying Ubuntu and they are fair. It is easy to install it and configure new software for it, Ubuntu supports newest hardware and perfectly plays video. It worth to use it.
The software we are going to install and configure
let's divide software on two parts by it's usage: web server and development. As a web server software we are going to install and configure Apache, PHP Memcache, MySQL, PostgreSQL, Tomcat, Apache Solr and Postifx. As a development software we are going to use Xdebug, Drush, NetBeas, Aptana, etc...
Yesterday I was invited to the meeting in office of Gorod.ua, the Ukrainian web portal, to speak about Drupal performance. The way like those guys are using Drupal is good, however there are lack of performance. They are spreading a spirit of their child to the whole of Ukraine, so it is a time to expect more visitors. We spoke a lot and I got better understanding of what is needed. We touched many problems, including non typical ones and theoretically solved them.