This Domain(Admin5.com) is for Sale:

My SQL数据库实用技术(28)

时间:2007-12-23  来源:不详  作者:迈克DB

情况下,在站点的有效性和请求中,性能发挥着重要的作用。一个缓慢的站点是令用户苦恼的,无论站点的内容如何,假如您依靠站点作为一项收入来源,则性能的降低直接影响收入。假如不能一次为多个连接提供服务,访问者只会产生厌烦情绪而去其他的站点。
性能评价是一个复杂的问题。当编写特定的API 时,应用程序完成得好坏的最好指标是在这个API 环境下编写并进行测试。而且最好的比较测试是在不同的API 环境下多次运行该应用程序,来比较每个版本。当然,那不是一般的工作。一般来说,您只想获取编写的应用
程序。一旦它工作了,假如它需要运行得更快,您就可以考虑优化它,使用更少的内存,或有某些需要用其他方法提高的方面。但是,至少有如下两个因素会影响性能:
■ 编译的程序比解释的程序运行得更快。
■ 对于在Web 上下文环境中使用的解释语言,在解释程序作为We b服务器自身的一部分而不是单独的过程模块被调用时,性能更好。
1. 相对于解释语言的编译语言
编译的应用程序比用脚本语言编写的程序的同样版本效率更高、使用的内存更少,并且执行得更快,这是基本规律。这是由于执行脚本的语言的解释程序的开销问题。因为C 是编译的,而Perl 和PHP 是解释的,所以C 程序通常比Perl 或PHP 脚本运行得更快一些。对于大量使用的程序,通常用C 是最好的选择。在MySQL 分发包中包括的mysql 命令行客户机程序就是最好的样例。
dedecms.com

当然,有一些因素能使这种明显的差别减小。对于一项任务,可用C 编写出更快的程序,但也很有可能编写出低效率的C 程序。用编译语言编写的程序并不自动地保证更好的性能。所以需要不断地考虑所做的事情。此外,假如一个脚本化的应用程序需花费大部分时间来执行连接到解释程序引擎的MySQL 客户机库例程的代码,则编译程序和解释程序之间的差别将有所减少。
2. 相对于语言解释程序模块版本的独立程序
对于基于Web 的应用程序,脚本语言解释程序通常以两种形式之一来使用,至少对Apache 是这样,当编写Web 应用程序时,Apache 是我们将使用的Web 服务器:
■ 可以安排Apache 去调用这个解释程序作为单独的过程。当Apache 需要运行Perl 或
PHP 脚本时,它启动相应的程序,并告知它来执行该脚本。在这种情况下, Apache 使用该解释程序作为CGI 程序,也就是说,它使用公共网关接口( Common Gateway Inter face,CGI)协议与它们通信。
■ 解释程序可用作直接连接到Apache 二进制程序和作为其过程自身的一部分运行的模块。在Apache 条件下, Perl 和
PHP 解释程序获得mod_perl 和mod_php3 模块的形式。

织梦好,好织梦


Perl 和
PHP 的提倡者们极力宣扬解释程序有速度优势,但所有的人都同意之所以喜欢解释程序是因为其运行的形式比语言本身有更大的诱惑力。在这两者中,解释程序作为模块运行比作为独立的CGI 应用程序运行更快。
对于独立的应用程序,每当运行一个脚本时都必须启动该解释程序,所以将导致重大的创建过程的开销。当在已经运行Apache 过程的内部作为模块使用时,解释程序可以立即从Web 页面中访问。通过减少开销显著地提高了性能,并直接转换为快速处理获取的请求并发
送它们的能力的增加。
独立解释程序启动的性能比模块解释程序的性能至少差一个数量级。当考虑Web 页面服务包括少量处理的快速事务处理而不是具有许多处理时,解释程序启动的开销非凡重要。假如花费许多时间只是为了启动而不是用于实际执行该脚本,则大部分资源一直处于等待状态。一天中的大部分时间可能花费在预备工作上, 4 点到达,然后5 点回家。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息