Improving PHP execution speed (II) _ PHP Tutorial

Source: Internet
Author: User
Improve PHP execution speed (II ). The compression of Web content (making your customers more "comfortable") through the above two methods, I believe that the performance of your PHP application has been greatly improved, now we should consider the compression of Web content from another aspect (making your customers more comfortable to use ")

After the above two methods, I believe that the performance of your PHP application has been greatly improved. now we should consider the download speed from another aspect. If your application is only running in the company, all customers will connect to the server using 100 Mbit/s Ethernet, which may not be a problem, however, if your customers use a slow modem connection, you should consider using the content compression method. According to the IETF specification, most browsers support
Compression. This means that you can use gzip to compress the web content before sending it to the client's browser. when receiving the content, the browser automatically decompress the data and allows the user to see the original page. Similarly, there are several different ways to compress the content of a web page.

Mod_gzip is a free Apache module provided by Remote Communications (http://www.phpbuilder.com/columns/www.remotecommunications.com) that compresses static web pages. It works well. you just need to compile it with apache (or use it as a DSO ). Remotecommunications people say it can also compress dynamic content, including mod_php and mod_perl. However, I tried it, but it does not seem to work. I learned from the mod_gzip mailing list that this bug will be fixed in the next version (I think it should be 1.3.14.6f ). However, you can still use it to compress static content.

However, we still want to compress dynamic content, so we must find another method. One way is to use class.gzip encode. php (http://leknor.com/code/), as long as you call this PHP class at the beginning and end of your PHP script, you can compress your page content. If the whole site requires such compression, you can call these functions in auto_prepend and auto_append in your php. ini file. It works well, but on websites with heavy loads, it obviously brings about a little system overhead. To learn more about how it works, take a look at its class code (you must at least add zlib support when compiling PHP ). The instructions provided by the author are also very detailed. you can get anything you need to know.

Recently, I also saw an article about PHP output buffering. PHP4.0.4 introduces a new processing method for output buffering-ob_gzhandler, which functions the same as the class described above, but the difference is that you only need to use it in your php. use the following syntax in ini:

Output_handler = ob_gzhandler;

This will activate the PHP output buffer function and compress everything it sends. For some special reason, if you do not want to set it here, you only need to change the default setting (not compressed) where necessary, as long as you are in the PHP source code directory to be compressed, modify it. the htaccess file is ready. The syntax is as follows:

Php_value output_handler ob_gzhandler

... Or call it directly in your PHP code, the following method:

Ob_start ("ob_gzhandler ");

This output buffering method is good and does not bring additional system overhead to the server. I strongly recommend that you use this method. The change can be illustrated in the following example. if the customer uses a 28.8K modem, after this processing, he will think that suddenly it is changed to an ISDN access. Note that Netscape Communicator does not support image compression, so it cannot be displayed. Therefore, unless all your customers use Internet Explorer, you must disable jpeg and gif image compression. Compression of other files should be fine, but I suggest you test it. In particular, browsers use uncommon plug-ins or browsers that are rarely used.

Other useful things...

Zend Technologies's online store opened in January 24 this year and sells some interesting PHP-related products. Including the Zend Cache and Zend Encoder mentioned above (in short, it is a PHP code compiler that can generate compiled classes so that you can sell them to customers without worrying about leaking source code. On the web servers that need to run these classes, Zend Encoder Runtime will be used for decoding), Zend Ide (an integrated development environment for PHP, with a lot of powerful performance ), it also provides support services for PHP developers.

Conclusion

Using the technology mentioned in this article, you can greatly improve the performance of the site, but pay attention to the following points:

1. the bottleneck may not be in PHP. you need to check every object (such as a database) in the application)

2. the performance of a web server is limited. therefore, do not consider the poor performance as the reason for PHP. it may also be because of a large traffic volume and your server needs to be upgraded, or consider using a server load balancer system (which will cost a lot)

3. do not think that content compression is not important. in a 100 Mbit/s Lan, your PHP application may have good performance, but consider users using slow modem.

Using the above two methods, we believe that the performance of your PHP application has been greatly improved, now we should consider another aspect...

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.