Total Pageviews

Friday 9 December 2011

如何通过PHP探针来检验PHP虚拟主机的性能

选择虚拟主机的时候,我们常常要想知道如下内容:

1,服务器配置如何?
2,这个空间在服务器上的绝对地址是多少,在哪个文件夹?
3,这个系统版本是什么,操作系统是什么,PHP的版本是什么?
4,空间有多大,能够承受多大的流量压力?
5,空间的速度如何?
……

那么如何判断购买的空间和空间商提供的信息一致呢?
我们经常使用的一种检测方法,那就是空间探针。
如果想检测一下PHP虚拟主机,那么我就要去下载PHP探针。
探针就是一个普通的网页,直接上传到空间就可以了,然后根据路径,直接访问这个网页,网页上就自动显示结果了。
例如把tz.php这个探针文件上传到了http://URDOMAIN.COM/ 这个站的根目录下,那么就可以通过http://URDOMAIN.COM/tz.php 来进行访问,访问的时候,就可以检测出来所有你想要的数据。

注意:有些服务器做了权限设置,禁止探针读取硬件信息,所以无法显示内存、硬盘、系统平均负载 、和网卡流量等信息。

文章中用到的是雅黑探针

主要功能:

1、服务器环境探测:CPU、在线时间、内存使用状况、系统平均负载探测(支持LINUX、FreeBSD系统,需系统支持),操作系统、服务器域名、IP地址、解释引擎等
2、PHP基本特征探测:版本、运行方式、安全模式、Zend编译运行及常规参数
3、PHP组件支持探测:MYSQL、GD、XML、SESSION、SOCKET等组件支持情况
4、服务器性能检测:整数运算能力、浮点数运算能力、数据IO能力
5、自定义探测:MYSQL连接测试、MAIL发信测试、函数支持情况及PHP配置参数

下载地址:http://www.yahei.net/ 

一、服务器参数部分:

服务器操作系统:PHP可以运行在windows或linxu操作系统下。从图中可看出服务器的操作系统为linux。『相对于windows而言linux下性能和稳定性较好,apache+php+mysql是最佳组合,再加上phpmyadmin管理数据库,要比sql简单不少。从漏洞和磁盘运行的状态,linux要比windows下优异的多,但对于小型网站来说只要硬件不是很差,几乎看不出差别。』
服务器解译引擎:常见的支持PHP的web服务器有apache ,lighttpd,nginx。从图中可看出服务器的web服务器为apache。『Apache是世界排名第一的web服务器, 根据调查,世界上百分之五十以上的web服务器在使用apache。Apache是 LAMP (linux+apache+mysql+php)架构最核心的 web server, 开源,模块丰富,功能强大,稳定是它的绝对优势。 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,CPU与内存占用率非常低,具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,属于轻量级的web server但稳定性和安全性一般,空间商很少用它。』
二、服务器实时数据:

服务器运行时间:最后一次重启到现在的运行时间
总空间、可用空间:服务器硬盘总容量,不是你虚拟主机的空间大小
内存使用情况:从此可以看出当前主机内存使用情况。『如果是主机是linux系统那就不要被“物理内存”的高使用率迷惑了,而要看“真实内存使用”因为很多人用惯了Windows。Windows下,可以使用任务管理器查看当前进程对于内存的消耗情况。Windows物理内存总是留下一定的空间,就算此时物理内存有空闲时,也会让某些程序去使用虚拟内存,目的是在Windows下启动新程序时,直接分配空闲的物理内存,这样子新程序启动速度就较快,而Linux则不然。在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。swap区,只有当前实际内存占用完(没有了buffers和cache),才会使用到swap的。』
win下的探针截图

系统平局负载:显示在特定时间间隔内运行队列中的平均进程数。『图例中0.42 0.63 0.63 这三个数字分别代表系统在过去的1、5、15分钟内运行队列中的平均进程数量。只要每个CPU核心的当前活动进程数不大于1就表示系统性能优秀;如果CPU的任务数大于3就表示该机器的性能有严重问题。本例中是台4核CPU那么其每个CPU 的当前任务数为 cpu 0.42/4=0.105 说明该系统的负载是非常低的。』
三、网络使用情况:这里可以看出服务器用了几块网卡(lo除外)以及每块网卡的进出流量。

四、已编译模块监测

什么是模块?模块是操作的一部分,但是并没有被编译到内核里面去,这里显示的是系统已经编译的模块,也就是这台服务器具备哪些功能。『操作系统就像是一个房间,你如果想睡觉你就要买张床、想看穿越剧你就得买个电视等等,这个床和电视就相当于模块,没有这些房子仍然是房子,也就是说模块的有会对操作系统实现的功能有影响』
五、PHP相关参数:

php版本:PHP版本主要分三支,PHP4/PHP5/PHP6 其中,PHP4由于太古老基本被淘汰而PHP6由于没有生产线上的应用,只是一款概念产品,目前常见的为PHP5。PHP5.2之前的版本不值得考虑,因为某些功能缺陷或者BUG。PHP5的最新版本是PHP 5.3.5
脚本占用最大内存:PHP脚本处理所能占用的最大内存,越大PHP脚本处理效率越高。对于一些采集站来说很重要。
脚本超时时间:执行一次Php脚本的最高时限,同样是越高越好对于一些采集站来说很重要。
被禁用的函数:由于某些函数存在着重大安全隐患,空间商通常会禁用一些函数,选择主机时要看看被禁用的函数中是否有你需要用到的,禁用函数的多少并不能说明这个空间商的运维技术水平。
六、组件支持:

Zend Optimizer:
1、可以加速 PHP 脚本的执行『一般情况下,执行使用Zend Optimizer组件的php程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。』
2、可以给用 Zend 加密的文件解密『 如果您的主机不支持 Zend Optimizer,则可能出现以下情况:1、安装的产品有加密过的文件时,可能出现空白等问题导致安装不成功。2、不能使用支付宝等有加密文件的功能。3、商城 ECShop 不能实现转码。』
七、数据库支持 :

常见的数据库:SQL Server、My SQL、Oracle、Access『SQL Server、Access 只能用于windows主机上,My SQL、Oracle常见于linux主机,相对于收费的Oracle,mysql更受主机商的青睐。』
八、服务器性能检测 :提供一些测试方法和其他空间商作对比,时间越短性能越好。

九、其他 ……

网速测试:可以检测虚拟主机的网络带宽
函数检测:检测某个函数是否被禁用
邮件发送测试:检测邮件发送功能是否可用

十、php主机选择时应考的因素:
1、没有特别情况,一定不要使用全能型主机。『原因在于,在IIS上既提供ASP 服务,又提供PHP服务,有些还提供JSP服务,一定会使服务器疲惫不堪! 如果你细心留意一些虚拟主机服务商的主机详细参数可以发现,一般低端的主机都是全能型主机,而高端的主机都是asp主机和PHP主机分开。』
2、尽量选择支持MySQL数据库的主机。『PHP程序大多数需要MySQL数据库支持,好在MySQL基本上算是PHP空间的标准配置了』
3、控制面板功能一定要丰富。 『简单控制面板的功能很弱,往往只能修改用户登录密码,数据库密码、查看空间使用率等等功能。而功能比较强大的控制面板,般可以提供文件管理、ZIP解压缩、Web邮件界面、 phpMyAdmin数据库管理、PHP.INI文件修改、数据库备份恢复等功能。这将极大方便我们对网站进行管理和使用。』
4、一定要有Zend Optimizer:『使用Zend Optimizer组件的php程序比不使用的要快40%到100%。』
5、提供邮件发送功能:『这样可以很好的提供网站的访问者的粘合度和回访率。』

No comments:

Post a Comment