你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;
2.PHP如何解决网站大流量与高并发的问题
首先,确认服务器硬件是否足够支持当前的流量。
普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。
其次,优化数据库访问。
前台静态化,完全静态化可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能。
缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库
数据库读写分离
如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用Select * from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大量SQL查询。使用join代替子查询,使用存储过程,事务控制
第三,禁止外部的盗链。 .htaccess文件
外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链,不过目前蓄意伪造refer盗链的还不多, 可以先不去考虑,或者使用非技术手段来解决,比如在图片上增加水印。
第四,控制大文件的下载。
大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要
提供,建议将大文件放在另外一台服务器上。
第五,使用不同主机分流主要流量
将文件放在不同的主机上,提供不同的镜像供用户下载。比如如果觉得RSS文件占用流量大,那么使用FeedBurner或者FeedSky等服务将RSS输出放在其他主机上,这样别人访问的流量压力就大多集中在FeedBurner的主机上,RSS就不占用太多资源了。
第六,使用流量分析统计软件。
在网站上安装一个流量分析统计软件,可以即时知道哪些地方耗费了大量流量,哪些页面需要再进行优化,因此,解决流量问题还需要进行精确的统计分析才可以。我推荐使 用的流量分析统计软件是Google Analytics(Google分析)。我使用过程中感觉其效果非常不错,稍后我将详细介绍一下Google Analytics的一些使用常识和技巧。
*****************************************************************************************
一:缓存技术
如果不生成静态的话,主要考虑用缓存技术。比如一条SQL语句:
$sql=SELECT * FROM article ORDER BY id DESC LIMIT 0,10;
你可以将该条SQL语句的查询结果缓存起来,当再次需要用到同样的SQL语句时,直接从缓存读取即可,无需再读取数据库。
缓存的两种方法:
1:将以上SQL的查询结果以文件的形式保存,比如保存到 'cache/'.md5($sql).'.cache.php';读取时直接读取该缓存;
2:用内存级别缓存memcache,将以上查询结果存到memcache服务器内存中,是一种效率很高的解决方案;
二:数据库读写分离
用Mysql主从架构不同的Mysql服务器,一个主服务器用来写和更新以及删除操作,另外的从服务器用于读操作
三:数据表分表技术
1:可以将一张含有很多字段的大表分成若干个含有部分字段的小表,每个表之间用一个key来建立联系,减轻数据表负担;
2:同理,也可以讲一个大表,分成具有相同字段的若干个字表,每个表存储的数据按照一定的hash算法进行分配,同样可以减轻每个表的负担
四:给每个表建立必要的索引
3.并发模拟
apache的bin目录下,有个名为ab的文件,我们通常称它为ab测试。它能够模拟http请求,并post参数之类。并能创建多线程。
用linux下的curl也可以。