Php MySQL问题-完全服务器溢出!请告知

Php MySQL问题-完全服务器溢出!请告知,php,mysql,optimization,query-optimization,mysql-management,Php,Mysql,Optimization,Query Optimization,Mysql Management,这是我的第一个问题,所以请不要对我太苛刻P 我通常倾向于用谷歌搜索我的解决方案,但现在我很匆忙,已经用尽了我所有的资源 因为我的网站是一个商业网站,这将是公平的,并支付某人来帮助我,但。。。我自己也有一些财务问题,这是第三个月支付给我的专用服务器,但这只是第一个月,因为我的网站实际上是起来了。。。我自己做的,因为我支付不起任何人的费用,而且上面没有广告,因为我认为我现在什么也得不到,广告也没用……虽然我打算在我的网站以后的生活中使用广告,但我没有从昂贵的服务器租金(至少是我的预算)中得到一分钱(

这是我的第一个问题,所以请不要对我太苛刻P
我通常倾向于用谷歌搜索我的解决方案,但现在我很匆忙,已经用尽了我所有的资源

因为我的网站是一个商业网站,这将是公平的,并支付某人来帮助我,但。。。我自己也有一些财务问题,这是第三个月支付给我的专用服务器,但这只是第一个月,因为我的网站实际上是起来了。。。我自己做的,因为我支付不起任何人的费用,而且上面没有广告,因为我认为我现在什么也得不到,广告也没用……虽然我打算在我的网站以后的生活中使用广告,但我没有从昂贵的服务器租金(至少是我的预算)中得到一分钱(

这是我的问题: 我有一个专用服务器,它一直运行得很好,直到几天前我的流量开始上升…几天来,我一直从我的服务器收到来自cpu状态监视器的电子邮件。。。 这就像被困在油门全开,我试图找出原因并修复问题

我真的很绝望,所以请帮帮我

以下是我的最新统计数据(尽管他们已经这样4天了……
08:02:35最多12天,14:39,0个用户,平均负载:25.82、25.98、25.92

我使用统计计数器,我认为它们非常准确(代码在每个页面上,所以这些是我网站的全球结果)。。。 我的数据是:

Page Loads  Unique Visits   
10,367              1,843   
我的主页是
index.php
videos.php
(顺便说一句,我经营一个视频网站)

index和videos.php页面始终使用大约140-150-160%的cpu 我是说,嗯? 他们使用了100%以上?比如贷款还是什么

他们都做的是:
(主要是视频页面,索引只是它的简化版本)

检查-如果通过,则获取查询和页码。
查询数据库,从表中获取结果并显示它们

我使用
mysql\u connect
从mysql获取所有信息。 我听说mysql中的永久连接是解决大量查询的一种可能的解决方案,但也读到了很多由于安全问题导致的这种方法的缺点。。。 请告知

我的数据库是myisam引擎
我有两个主要的桌子:游戏和视频。
它们旁边有大约5-6000个用于存储注释的表

 games table:    9   columns    
 id - primary   
 name - fulltext - used by my search    

 videos table:    17 columns    
 indexes:   
 id-primary     
 title,tags-fulltext-used by search     
其余的表用于注释,但除了id字段外,它们没有任何索引。 他们只保留评论和日期。 加载搜索页面时,所有数据均取自数据库: 搜索关键字,选取最相关的,然后回显与匹配项相关的所有数据。 打开视频页面时,来自某个数据库的所有评论都会加载并显示在一个框中

为了减少处理能力的使用,我能做的最好的事情是什么

另外,我的支持团队刚刚给我发了电子邮件:

我们已经将表缓存增加到12000,现在请检查它的运行情况。另外,最好得到一个最适合您工作环境的my.cnf文件,这里mysql变量设置为默认值

我只是在谷歌上读了一些关于
my.cnf
文件的内容,但与我的案件无关。。。 有人能告诉我我的
my.cnf
文件应该包含哪些内容吗?与我的情况有关

我这里有我的服务器信息,但它占用了一些空间…我怎么能以某种方式关闭它,而你只在你想阅读时打开它?而不使用链接

我应该像这样把它贴在这里吗? 请,如果一个版主读到这篇文章,并能以某种方式折叠它,请这样做

Server Information:
-------------------------------------------------------

Processor Information
Total processors: 6

Processor #1

Vendor
    AuthenticAMD

Name
    AMD Phenom(tm) II X6 1055T Processor

Speed
    2800.000 MHz

Cache
    512 KB

Processor #2

Vendor
    AuthenticAMD

Name
    AMD Phenom(tm) II X6 1055T Processor

Speed
    2800.000 MHz

Cache
    512 KB

Processor #3

Vendor
    AuthenticAMD

Name
    AMD Phenom(tm) II X6 1055T Processor

Speed
    2800.000 MHz

Cache
    512 KB

Processor #4

Vendor
    AuthenticAMD

Name
    AMD Phenom(tm) II X6 1055T Processor

Speed
    2800.000 MHz

Cache
    512 KB

Processor #5

Vendor
    AuthenticAMD

Name
    AMD Phenom(tm) II X6 1055T Processor

Speed
    2800.000 MHz

Cache
    512 KB

Processor #6

Vendor
    AuthenticAMD

Name
    AMD Phenom(tm) II X6 1055T Processor

Speed
    2800.000 MHz

Cache
    512 KB


Memory Information

Memory for crash kernel (0x0 to 0x0) notwithin permissible range
Memory: 7917400k/8912896k available (2575k kernel code, 208164k reserved, 1304k data, 212k init)



System Information

Linux nrgysrv1.hostrprv1.com 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux


Physical Disks

SCSI device sda: 2930277168 512-byte hdwr sectors (1500302 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
SCSI device sda: 2930277168 512-byte hdwr sectors (1500302 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
sd 0:0:0:0: Attached scsi disk sda
SCSI device sdb: 2930277168 512-byte hdwr sectors (1500302 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
SCSI device sdb: 2930277168 512-byte hdwr sectors (1500302 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
sd 3:0:0:0: Attached scsi disk sdb
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 3:0:0:0: Attached scsi generic sg1 type 0



Current Memory Usage

             total       used       free     shared    buffers     cached
Mem:       7920256    7873744      46512          0      61148    6980096
-/+ buffers/cache:     832500    7087756
Swap:      4192956        184    4192772
Total:    12113212    7873928    4239284


Current Disk Usage

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             1.4T  636G  645G  50% /
/dev/sda1              99M   18M   77M  19% /boot
tmpfs                 3.8G     0  3.8G   0% /dev/shm
/dev/sdb1             1.4T  291G 1016G  23% /backup
/usr/tmpDSK           485M   11M  449M   3% /tmp


----------------------------------------------------
我想这就是我掌握的全部信息

如果你怜悯我,请帮助我!。。。
非常感谢!hot

我认为问题在于每个视频都有一个单独的表。所有评论(或任何内容)都应该存储在同一个表中,并附加视频id或类似内容,以便将它们链接回相关视频

index和videos.php页面总是使用大约140-150-160%的cpu,我的意思是,嗯?他们使用了超过100%的cpu?比如贷款还是什么

不,负载表示为每个CPU一个单元,因此,如果服务器有四个CPU,负载为1.00(或100%)表示一个CPU处于满载状态,其他三个CPU处于空闲状态(或两个CPU处于50%负载状态,其他两个CPU处于0%或任何类似组合),负载为4.00(或400%)表示所有CPU都处于满载状态

我从mysql获取的所有信息都使用mysql\u connect。我听说mysql中的永久连接是解决大量查询的一种可能的解决方案,但也了解到由于安全问题导致此方法存在许多缺点…请建议

为什么它应该是一个安全问题?如果被误用,它可能是一个性能问题,但肯定不是一个安全问题

从您所写的内容来看,您似乎是关系数据库和web开发方面的新手,我建议您的第一步是购买一本数据库书籍,了解它们的工作原理和使用方法,然后是一本关于PHP的好书。否则,您将永远无法解决您的问题


顺便说一句,如果你是新手(而且你知道),你应该读一读,然后。

首先,隔离问题。如果问题的根本原因是你的php代码,那么调整MySQL是没有意义的

您的支持人员说他们“将表缓存增加到12000”,因此他们可能将表\u open\u缓存的值从400(默认)增加到12000。(您可能不应该有6000个表。请重新考虑该设计。)

对于MySQL,请研究MySQL文档的这些部分

在调优MySQL服务器时,两个 要配置的最重要变量 键缓冲区大小和 表\u打开\u缓存。您应该首先 相信你已经拥有了这些 在尝试改变之前适当地 任何其他变量

MySQL提供了许多 预配置