AD MANAGEMENT

Collapse

BEHOSTED

Collapse

Speeding PHP Using APC PHP Cache

Collapse

Collapse

Edit this module to specify a template to display.

X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Speeding PHP Using APC PHP Cache

    If you look at a PHP source file you will notice one thing. It's a source file. Not particularly surprising, but think about when you deploy a PHP application, what do you deploy? PHP source files. Now for many other languages; Java, C, etc when you deploy an application you deploy the compiled file. So, the question that you want to ask yourself is this, how much time does a PHP application spend compiling source files vs running the code? I'll answer that for you, a lot.

    There are advantages to being able to deploy source files though. It makes it easy to do on the fly modifications or bug fixes to a program, much like we used to do in the early BASIC languages. Just change the file and the next time it's accessed your change is reflected. So, how do we keep the dynamic nature of PHP, but not recompile our files every time they are accessed?

    A PHP cache. It's surprising to me that this concept isn't built into the base PHP engine, but perhaps that's because some company's can sell this add on to speed up PHP. Luckily for us, some companies/open source projects provide this plug in to PHP at no charge. These plug ins are generally known as PHP accelerators, some of them do some optimization and then caching and some only do caching. I'm not going to pass judgement on which one is the best, any of them are better than nothing, but I decided to use APC, the Alternative PHP Cache. I chose this one because it is still in active development and is open source and free.

    Alternative php cache can be found at php.net, just look down the left column for APC. It comes in source form, so you will need to compile it before installing it, don't worry about that part. If you're using Red Hat 4 or CentOS4 I'll tell you exactly how to do it. If you're using something else, you'll need the same tools, but getting the tools might be a bit different.

    1. The Tools

    Do you know how many web sites, forums and blogs I went to with my error messages before I found the answers as to what I was missing when I was trying to install APC - Alternative PHP Cache? Two days worth, but I finally found the correct combination and it's really quite obvious as is everything once you know the answer. There are three sets of dev tools that you will need.

    1a. You'll need a package called "Development Tools" this will include all the important dev tools like the GCC compiler, etc.

    1b. You'll need a package called php-devel which as you might guess are development tools for PHP

    1c. You'll need a package called httpd-devel which of course are dev tools for Apache web server.

    On Red Hat or CentOS getting these should be as easy as the following 3 commands:

    yum groupinstall "Development Tools"

    yum install php-devel

    yum install httpd-devel

    You'll do these three one at a time and follow any instructions (usually just saying yes).

    Now it's time to follow the instructions contained in the APC package. Since these may change over time I'm not going to go through them. They are very complete. If you follow the instructions and get an apc.so file out of it, then you're all set, just modify your php.ini file and you're good to go.

    There are two problems that I encountered that you may encounter too. The first is an error when running phpize. I ignored this error and everything succeeded okay, but not before I spent hours looking for the solution to this error. Here is the error.
    configure.in:9: warning: underquoted definition of PHP_WITH_PHP_CONFIG


    run info '(automake)Extending aclocal'


    or see http://sources.redhat.com/automake/a...ending-aclocal

    configure.in:32: warning: underquoted definition of PHP_EXT_BUILDDIR

    configure.in:33: warning: underquoted definition of PHP_EXT_DIR

    configure.in:34: warning: underquoted definition of PHP_EXT_SRCDIR

    configure.in:35: warning: underquoted definition of PHP_ALWAYS_SHARED

    acinclude.m4:19: warning: underquoted definition of PHP_PROG_RE2C

    People would have had me updating my PHP version from 4.3.9 and everything else under the sun to get rid of this error, but in the end it didn't matter. My APC compiled and installed nicely and I am good to go.

    The other slight problem that I ran into was the location of php-config. The install instructions wanted me to do the following:

    ./configure --enable-apc-mmap --with-apxs
    --with-php-config=/usr/local/php/bin/php-config

    However my php-config is in /usr/bin/php-config. Making that change allowed this part to work.

    So, have at it, once it's done you can expect to see huge improvements in your web site response times and reductions on your CPU load. One more quick note, My server hosts about 20 web sites, but only 3 or 4 are really busy. To reduce the memory footprint of caching everything for all 20 sites I used the apc.filters property. Although this property is slightly flawed for non qualified includes, it worked nicely for my Serendipity blogs. Your mileage with this property will vary according to the software you are using and how it does it's includes.
    Promote Website FREE |
    Buy Contact Lenses Online |
    Baby Name Ideas |
    Car Auction Sites

  • #2
    I found this article at ezinearticle and hope to useful you.
    Promote Website FREE |
    Buy Contact Lenses Online |
    Baby Name Ideas |
    Car Auction Sites

    Comment

    TEXT

    Collapse

    160

    Collapse

    Unconfigured Ad Widget

    Collapse

    GOOGLE

    Collapse

    Announcement

    Collapse
    1 of 2 < >

    FreeHostForum Rules and Guidelines

    Webmaster forum - Web Hosting Forum,Domain Name Forum, Web Design Forum, Travel Forum,World Forum, VPS Forum, Reseller Hosting Forum, Free Hosting Forum

    Signature

    Board-wide Policies:

    Do not post links (ads) in posts or threads in non advertising forums.

    Forum Rules
    Posts are to be made in the relevant forum. Users are asked to read the forum descriptions before posting.

    Members should post in a way that is respectful of other users. Flaming or abusing users in any way will not be tolerated and will lead to a warning or will be banned.

    Members are asked to respect the copyright of other users, sites, media, etc.

    Spam is not tolerated here in most circumstances. Users posting spam will be banned. The words and links will be censored.

    The moderating, support and other teams reserve the right to edit or remove any post at any time. The determination of what is construed as indecent, vulgar, spam, etc. as noted in these points is up to Team Members and not users.

    Any text links or images contain popups will be removed or changed.

    Signatures
    Signatures may contain up to four lines

    Text in signatures is subject to the same conditions as posts with respect decency, warez, emoticons, etc.

    Font sizes above 3 are not allowed

    Links are permitted in signatures. Such links may be made to non-Freehostforum material, commercial ventures, etc. Links are included within the text and image limits above. Links to offensive sites may be subject to removal.

    You are allowed ONLY ONE picture(banner) upto 120 pixels in width and 60 pixels in height with a maximum 30kB filesize.

    In combination with a banner/picture you can have ONLY ONE LINE text link.


    Advertising
    Webmaster related advertising is allowed in Webmaster Marketplace section only. Free of charge.

    Shopping related (tangible goods) advertising is allowed in Buy Sell Trade section only. Free of charge.

    No advertising allowed except paid stickies in other sections.

    Please make sure that your post is relevant.


    More to come soon....
    2 of 2 < >

    Advertise at FreeHostForum

    We offer competitive rates and a many kinds of advertising opportunities for both small and large scale campaigns.More and more webmasters find advertising at FreeHostForum.com is a useful way to promote their sites and services. That is why we now have many long-term advertisers.

    At here, we also want to thank you all for your support.

    For more details:
    http://www.freehostforum.com/threads...eHostForum-com

    More ad spots:
    http://www.freehostforum.com/forums/...-FreeHostForum
    See more
    See less
    Working...
    X