ComputerEducationWorld.com Categories:
Free Computer Books Online, PHP, PHP 5 Power Programming, C Programming, C For Beginners, Professional C sharp, INDEX - C# Professional in 15 days, Java, Java 2 (simpler way-Old version), Javascript Tutorial for Beginners, HTML, HTML for Beginners, HTML For Advanced, CSS, CSS For Beginners, CSS Advanced, Basic of Computers, Javascript, Free Web Designing Courses, Introduction to JavaScript, Javascript For Beginners, Download Free E-book, .Net, News and Alerts, Ajax, PHP Script, PHP and XML, PHP Ad Management, PHP Classes, MYSQL, Mysql Classes, Mysql Functions, Tips and tricks, Mozilla firefox tricks, Notepad tricks, Windows tricks, MS word tricks, miscellaneous tricks, HTML Tips and Tricks, PHP Tricks, PHP & MySQL, PHP and MySQL - From Beginning to Professional, INDEX, Basic of MySQL, INDEX - MySQL Basic, Wordpress, Wordpress Plugins, Webmasters, Linux/Unix, jQuery
|
CHAPTER 14 - Compiled Code Caching
|
28 views
The Zend Performance Suite’s Acceleration module, which performs com-
piled code caching, is the simplest and often the most effective way to speed up
your application. To understand what Acceleration does, we first need to go
back to the execution architecture of the Zend Engine. In the previous section,
you saw how the engine first compiles your PHP files into in-memory repre-
sentations (intermediate code), and then executes. But then what? What hap-
pens when the engine is finished executing some piece of intermediate code?
The answer is almost nothing. That is, nothing special happens with the
intermediate code; it simply becomes unallocated and destroyed. The next
time the same script will be accessed, it will be compiled again into intermedi-
ate code before it’s executed. This approach has several advantages–it fea-
tures perfect isolation across different requests, low memory footprint, and
perfect cross-platform compatibility. However, when using PHP to power a
popular web site with millions of page views a day, repetitive compilation can
become a bottleneck.
In order to boost performance, the ZPSs Acceleration module caches com-
piled intermediate code for repeated use. When installed, the ZPS replaces the
compilation procedure of the Zend Engine with a modified one; the first time
each file is accessed, the regular compiler is invoked. However, before the
resultant intermediate code is passed to the execution engine, it is saved into
shared memory for repeated later use. Once in shared memory, it is passed on
to the execution engine, which runs it as if it was in regular memory. Later,
accesses to the same file will no longer require the compilation stage, and will
move directly to the execution stage. It’s important to know that the ZPS saves
each file separately, even if it is included from another file. That means that
common include files (such as PEAR, or your own library files) are only kept in
memory once, and are used by any piece of code that needs them.
Typical benefits from using the ZPS’s acceleration module range between
a 50300 percent performance increase. The results depend primarily on the
nature of your application. Applications with longer execution overhead (for
example, applications that spend most of their time waiting for the database
to respond) benefit less from the nullification of the compilation overhead. On
the other hand, applications that use a lot of files but have relatively short
execution overhead (for example, OO applications with one class per file) can
experience dramatic performance increase. Furthermore, the Zend Optimizer automatically detects the presence of the Zend Performance Suite, and per-
forms more aggressive and time-consuming optimizations, which would other-
wise make little sense to perform. The fact that the each file only has to be
optimized once and then used many times, combined with the additional opti-
mizations, further increases performance.
The ZPS Accelerator typically requires little configuration, if any. The
default settings fit most web sites. However, you may want to increase the
amount of available memory or the maximum number of accelerated files, for
which you can use the ZPS Console (or Settings) tab (see Figure 14.12).
|
Post Comment
You must be logged in to post a comment.
|
|