april 2012 Joomla! Database Abstractie
Extend the Joomla! webserver
instead
april 2012 Joomla! Database Abstractie
Jisse Reitsma● Co-founder and developer of Yireo
MageBridge, Vm2Mage, SimpleLists, Dynamic404, SSL Redirect, ...
● System administratorLinux, HP-UX, VMware ESX
● ProgrammerJoomla!, Magento, PHP, Java, Android
● Freelance trainerJoomla! development, Magento development
april 2012 Joomla! Database Abstractie
This talk● Part 1: Dealing with images (optipng, WebP)● Part 2: Dealing with CSS and Javascript● Part 3: Other stuff (mod_pagespeed, maldet)
april 2012 Joomla! Database Abstractie
Requirements● We “own” the server● Using SSH is vital (basic shell experience)
april 2012 Joomla! Database Abstractie
(questions?)
april 2012 Joomla! Database Abstractie
Part 1:Dealing with images
april 2012 Joomla! Database Abstractie
Dealing with images● Optimizing / indexing images (optipng, ...)● WebP: An alternative image-format
april 2012 Joomla! Database Abstractie
Image optimization (1/2)● What to do:
– Bit depth; color palette; indexation– Less quality; resolution– Compression technique
april 2012 Joomla! Database Abstractie
Image optimization (2/2)● optipng● pngcrush● pngout● jpegoptim● jpegtran
april 2012 Joomla! Database Abstractie
Google WebP● Reduces image size with 25-34%● Binary file “cwebp”● Yireo extensions:
– WebP for Joomla!– WebP for Magento
april 2012 Joomla! Database Abstractie
(questions?)
april 2012 Joomla! Database Abstractie
Part 2:Dealing with CSS and JS
april 2012 Joomla! Database Abstractie
CSS compressors● CSStidy● CSSCompressor● AjaxMin● Minify● YUICompressor
april 2012 Joomla! Database Abstractie
JavaScript compressors● Packer● JSMin● Closure Compiler● YUICompressor● AjaxMin
april 2012 Joomla! Database Abstractie
Also:● Forget about merging, build CSS using LESS● Use mod_deflate to compress JS/CSS output● JCH Optimize, Yireo ScriptMerge, RokGzipper
april 2012 Joomla! Database Abstractie
(questions?)
april 2012 Joomla! Database Abstractie
Part 3:Other stuff
april 2012 Joomla! Database Abstractie
Google mod_pagespeed● Apache 2 module● Features (core filters):
– HTML optimization– CSS / JS merging and compression– Image compression– Ideal for dedicated servers, not shared
april 2012 Joomla! Database Abstractie
Security tools● maldet● rkhunter● Nessus
april 2012 Joomla! Database Abstractie
Also (1/2)● Kernel parameters (TCP windows, timeouts)● tmpfs / ramfs● PHP accelerator: APC, memcache, XCache, ...● Use Nginx or Lightspeed instead of Apache● MySQL optimization
april 2012 Joomla! Database Abstractie
Also (2/2)● SPDY (HTTP2)● NewRelic● Piwik● Amazon S3 (s3cmd)
april 2012 Joomla! Database Abstractie
(questions?)