Saturday 24 December 2011

Varnish Caching System with Php


Varnish is an open source HTTP accelerator designed for content-heavy dynamic web sites. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture. A high level overview of what Varnish does can be seen in the video attached to this web page.

Varnish stores data in virtual memory and leaves the task of deciding what is stored in memory and what gets paged out to disk to the operating system. This helps avoid the situation where the operating system starts caching data while they are moved to disk by the application.

The principal configuration mechanism is VCL (Varnish Configuration Language), a domain-specific language (DSL) used to write hooks which are called at critical points in the handling of each request. Most policy decisions are left to VCL code, making Varnish far more configurable and adaptable than most other HTTP accelerators. When a VCL script is loaded, it is translated to C, compiled to a shared object by the system compiler, and linked directly into the accelerator.

Varnish supports load balancing using both a round-robin and a random director, both with a per-backend weighting. Basic health-checking of backends is also available.
Official Website
Download latest version
Varnish Magento Extension

Friday 2 December 2011

Full-text Search with Sphinx and PHP


Sphinx is an open source search server which combines very fast full-text search with a great scalability. It's growing up fast and we not only inventing new features for full text search itself, but also creating new ways to integrate Sphinx into PHP based applications.If you are not yet using Sphinx, we'll be highlighting some key steps on how to serve Full-Text queries to your PHP based applications from start to finish.

If you are an advanced Sphinx Search user, this talk will describe where one can offload MySQL or standard Database functions to Sphinx. From some specific queries one can run on the Sphinx to how to increase both performance and scalability of your applications (web-based or otherwise).

Besides tips and tricks centered around integration with PHP/MySQL based applications, you will learn about the recent 2.0.1 release straight from the proverbial 'horse's mouth.' This talk will utilize and focus on real-world examples from installation and integration to handling search results.

Sphinx is the acronym for SQL Phrase Index. Some key features of this search engine are (from official site):

1. high indexing speed (upto 10 MB/sec on modern CPUs)
2. high search speed (avg query is under 0.1 sec on 2-4 GB text collections)
3. high scalability (upto 100 GB of text, upto 100 M documents on a single CPU)
4. supports distributed searching (since v.0.9.6)
5. supports MySQL natively (MyISAM and InnoDB tables are both supported)
6. supports phrase searching
7. supports phrase proximity ranking, providing good relevance
8. supports English and Russian stemming
9. supports any number of document fields (weights can be changed on the fly)
10. supports document groups
11. supports stopwords
12. supports different search modes ("match all", "match phrase" and "match any" as of v.0.9.5)
13. generic XML interface which greatly simplifies custom integration
14. pure-PHP (ie. NO module compiling etc) search client API
Watch Online : 
http://www.ustream.tv/embed/recorded/14937201

Reference Links :