Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] 紧急求助,SS,MYSQL CPU占用高达200%以上,<090707更新>

[复制链接]
天馬流星 发表于 2009-7-5 22:04:24 | 显示全部楼层 |阅读模式
本帖最后由 天馬流星 于 2009-7-6 10:11 编辑

用的是Godaddy的VPS虚拟主机,不知道是PHP.INI或是HTTPD.CONF文件配置不正确导致MYSQL的CPU占有率持高不下,还是数据库有问题导致的。每reboot一次系统,不出10分钟就宕机,根据TOP命令查看,MYSQL的CPU占用最高时候达到300%。
SS数据库约有1G,生成HTML文件。日PV 2W,IP5000~10000。
之前使用的Hosmonster的主机都没有问题,最近几天刚转移到godaddy的VPS.

数据库目前有800M,其中附件表和采集的日志就占了不少的空间。
新闻数目有35万条左右。

记得以前早期版本,论坛里有人发过一个清理采集日志的文件,可以把采集记录清空,现在找不到那个文件了。
还有,服务器转移后,我附件目录没有转移,放弃掉了,但是数据库表中仍然有10几万的附件记录,有什么办法清理掉?直接清空?


请官方人员或有招数的朋友帮忙解决一下问题,这么好的网站,再这样下去可就废了。。感激。

httpd.conf 配置文件: *号部分为我刻意隐藏的文件路径,#号注释部分已经去掉,方便大家阅读查看
  1. ServerTokens OS

  2. ServerRoot "/etc/httpd"

  3. PidFile run/httpd.pid

  4. Timeout 120

  5. KeepAlive Off

  6. MaxKeepAliveRequests 100

  7. KeepAliveTimeout 15

  8. <IfModule prefork.c>
  9. StartServers       1
  10. MinSpareServers    1
  11. MaxSpareServers    5
  12. ServerLimit       10
  13. MaxClients        10
  14. MaxRequestsPerChild  4000
  15. </IfModule>

  16. <IfModule worker.c>
  17. StartServers       1
  18. MaxClients        10
  19. MinSpareThreads    1
  20. MaxSpareThreads    4
  21. ThreadsPerChild     25
  22. MaxRequestsPerChild  0
  23. </IfModule>

  24. Listen 80

  25. LoadModule auth_basic_module modules/mod_auth_basic.so
  26. LoadModule auth_digest_module modules/mod_auth_digest.so
  27. LoadModule authn_file_module modules/mod_authn_file.so
  28. LoadModule authn_alias_module modules/mod_authn_alias.so
  29. LoadModule authn_anon_module modules/mod_authn_anon.so
  30. LoadModule authn_dbm_module modules/mod_authn_dbm.so
  31. LoadModule authn_default_module modules/mod_authn_default.so
  32. LoadModule authz_host_module modules/mod_authz_host.so
  33. LoadModule authz_user_module modules/mod_authz_user.so
  34. LoadModule authz_owner_module modules/mod_authz_owner.so
  35. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
  36. LoadModule authz_dbm_module modules/mod_authz_dbm.so
  37. LoadModule authz_default_module modules/mod_authz_default.so
  38. LoadModule ldap_module modules/mod_ldap.so
  39. LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
  40. LoadModule include_module modules/mod_include.so
  41. LoadModule log_config_module modules/mod_log_config.so
  42. LoadModule logio_module modules/mod_logio.so
  43. LoadModule env_module modules/mod_env.so
  44. LoadModule ext_filter_module modules/mod_ext_filter.so
  45. LoadModule mime_magic_module modules/mod_mime_magic.so
  46. LoadModule expires_module modules/mod_expires.so
  47. LoadModule deflate_module modules/mod_deflate.so
  48. LoadModule headers_module modules/mod_headers.so
  49. LoadModule usertrack_module modules/mod_usertrack.so
  50. LoadModule setenvif_module modules/mod_setenvif.so
  51. LoadModule mime_module modules/mod_mime.so
  52. LoadModule dav_module modules/mod_dav.so
  53. LoadModule status_module modules/mod_status.so
  54. LoadModule autoindex_module modules/mod_autoindex.so
  55. LoadModule info_module modules/mod_info.so
  56. LoadModule dav_fs_module modules/mod_dav_fs.so
  57. LoadModule vhost_alias_module modules/mod_vhost_alias.so
  58. LoadModule negotiation_module modules/mod_negotiation.so
  59. LoadModule dir_module modules/mod_dir.so
  60. LoadModule actions_module modules/mod_actions.so
  61. LoadModule speling_module modules/mod_speling.so
  62. LoadModule userdir_module modules/mod_userdir.so
  63. LoadModule alias_module modules/mod_alias.so
  64. LoadModule rewrite_module modules/mod_rewrite.so
  65. LoadModule proxy_module modules/mod_proxy.so
  66. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  67. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
  68. LoadModule proxy_http_module modules/mod_proxy_http.so
  69. LoadModule proxy_connect_module modules/mod_proxy_connect.so
  70. LoadModule cache_module modules/mod_cache.so
  71. LoadModule suexec_module modules/mod_suexec.so
  72. LoadModule disk_cache_module modules/mod_disk_cache.so
  73. LoadModule file_cache_module modules/mod_file_cache.so
  74. LoadModule mem_cache_module modules/mod_mem_cache.so
  75. LoadModule cgi_module modules/mod_cgi.so

  76. Include conf.d/*.conf

  77. User apache
  78. Group apache

  79. ServerAdmin root@localhost

  80. UseCanonicalName Off

  81. DocumentRoot "*www/html"

  82. <Directory />
  83.     Options FollowSymLinks
  84.     AllowOverride None
  85. </Directory>

  86. <Directory "*www/html">
  87.     Options Indexes FollowSymLinks
  88.     AllowOverride None
  89.     Order allow,deny
  90.     Allow from all
  91. </Directory>

  92. <IfModule mod_userdir.c>
  93.     UserDir disable
  94. </IfModule>

  95. DirectoryIndex index.html index.html.var

  96. AccessFileName .htaccess

  97. <Files ~ "^\.ht">
  98.     Order allow,deny
  99.     Deny from all
  100. </Files>

  101. TypesConfig /etc/mime.types

  102. DefaultType text/plain


  103. <IfModule mod_mime_magic.c>
  104. #   MIMEMagicFile /usr/share/magic.mime
  105.     MIMEMagicFile conf/magic
  106. </IfModule>

  107. HostnameLookups Off

  108. ErrorLog logs/error_log

  109. LogLevel warn

  110. LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
  111. LogFormat "%h %l %u %t "%r" %>s %b" common
  112. LogFormat "%{Referer}i -> %U" referer
  113. LogFormat "%{User-agent}i" agent

  114. CustomLog logs/access_log combined

  115. ServerSignature On

  116. Alias /icons/ "*www/icons/"

  117. <Directory "*www/icons">
  118.     Options Indexes MultiViews
  119.     AllowOverride None
  120.     Order allow,deny
  121.     Allow from all
  122. </Directory>


  123. <IfModule mod_dav_fs.c>
  124.     # Location of the WebDAV lock database.
  125.     DAVLockDB *lib/dav/lockdb
  126. </IfModule>


  127. ScriptAlias /cgi-bin/ "*www/cgi-bin/"

  128. <Directory "*www/cgi-bin">
  129.     AllowOverride None
  130.     Options None
  131.     Order allow,deny
  132.     Allow from all
  133. </Directory>

  134. IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

  135. AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

  136. AddIconByType (TXT,/icons/text.gif) text/*
  137. AddIconByType (IMG,/icons/image2.gif) image/*
  138. AddIconByType (SND,/icons/sound2.gif) audio/*
  139. AddIconByType (VID,/icons/movie.gif) video/*

  140. AddIcon /icons/binary.gif .bin .exe
  141. AddIcon /icons/binhex.gif .hqx
  142. AddIcon /icons/tar.gif .tar
  143. AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
  144. AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
  145. AddIcon /icons/a.gif .ps .ai .eps
  146. AddIcon /icons/layout.gif .html .shtml .htm .pdf
  147. AddIcon /icons/text.gif .txt
  148. AddIcon /icons/c.gif .c
  149. AddIcon /icons/p.gif .pl .py
  150. AddIcon /icons/f.gif .for
  151. AddIcon /icons/dvi.gif .dvi
  152. AddIcon /icons/uuencoded.gif .uu
  153. AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
  154. AddIcon /icons/tex.gif .tex
  155. AddIcon /icons/bomb.gif core
  156. AddIcon /icons/back.gif ..
  157. AddIcon /icons/hand.right.gif README
  158. AddIcon /icons/folder.gif ^^DIRECTORY^^
  159. AddIcon /icons/blank.gif ^^BLANKICON^^

  160. DefaultIcon /icons/unknown.gif

  161. ReadmeName README.html
  162. HeaderName HEADER.html

  163. IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

  164.   DefaultLanguage zh-CN

  165. AddLanguage ca .ca
  166. AddLanguage cs .cz .cs
  167. AddLanguage da .dk
  168. AddLanguage de .de
  169. AddLanguage el .el
  170. AddLanguage en .en
  171. AddLanguage eo .eo
  172. AddLanguage es .es
  173. AddLanguage et .et
  174. AddLanguage fr .fr
  175. AddLanguage he .he
  176. AddLanguage hr .hr
  177. AddLanguage it .it
  178. AddLanguage ja .ja
  179. AddLanguage ko .ko
  180. AddLanguage ltz .ltz
  181. AddLanguage nl .nl
  182. AddLanguage nn .nn
  183. AddLanguage no .no
  184. AddLanguage pl .po
  185. AddLanguage pt .pt
  186. AddLanguage pt-BR .pt-br
  187. AddLanguage ru .ru
  188. AddLanguage sv .sv
  189. AddLanguage zh-CN .zh-cn
  190. AddLanguage zh-TW .zh-tw

  191. LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

  192. ForceLanguagePriority Prefer Fallback

  193. AddDefaultCharset ISO-8859-1
  194. AddDefaultCharset off

  195. AddType application/x-compress .Z
  196. AddType application/x-gzip .gz .tgz

  197. AddHandler type-map var

  198. AddType text/html .shtml
  199. AddOutputFilter INCLUDES .shtml

  200. Alias /error/ "*www/error/"

  201. <IfModule mod_negotiation.c>
  202. <IfModule mod_include.c>
  203.     <Directory "*www/error">
  204.         AllowOverride None
  205.         Options IncludesNoExec
  206.         AddOutputFilter Includes html
  207.         AddHandler type-map var
  208.         Order allow,deny
  209.         Allow from all
  210.         LanguagePriority en es de fr
  211.         ForceLanguagePriority Prefer Fallback
  212.     </Directory>

  213. </IfModule>
  214. </IfModule>

  215. BrowserMatch "Mozilla/2" nokeepalive
  216. BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
  217. BrowserMatch "RealPlayer 4\.0" force-response-1.0
  218. BrowserMatch "Java/1\.0" force-response-1.0
  219. BrowserMatch "JDK/1\.0" force-response-1.0
  220. BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
  221. BrowserMatch "MS FrontPage" redirect-carefully
  222. BrowserMatch "^WebDrive" redirect-carefully
  223. BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
  224. BrowserMatch "^gnome-vfs/1.0" redirect-carefully
  225. BrowserMatch "^XML Spy" redirect-carefully
  226. BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

  227. <Location /server-status>      
  228. SetHandler server-status
  229. Order Deny,Allow  
  230. Deny from all   
  231. Allow from .xxx.com
  232. </Location>
  233. ExtendedStatus On

  234. <VirtualHost *:80>
  235. ServerAdmin webmaster@yourdomain.com
  236. DocumentRoot /www/uchome
  237. ServerName yourdomain.com
  238. ServerAlias *.yourdomain.com
  239. </VirtualHost>
复制代码
my.cnf 配置文件: *号部分为我刻意隐藏的文件路径

  1. [mysqld]
  2. datadir=*/mysql
  3. socket=*/mysql.sock
  4. user=mysql

  5. # Default to using old password format for compatibility with mysql 3.x
  6. # clients (those using the mysqlclient10 compatibility package).
  7. old_passwords=1

  8. [mysqld_safe]
  9. log-error=*/mysqld.log
  10. pid-file=*/mysqld.pid
复制代码
qingwa 发表于 2009-7-5 22:25:57 | 显示全部楼层
纯静态的话是否是生成html文件的问题?
如果按照24小时为限制的话,那么2Wpv按照四分之一来算,5000个页面,如果访问时间集中的话是否会因为一时的集中访问,导致大量的页面重新刷新生成,从而占用系统资源?
我没用vps,用的是lunarpages的空间,以前用dede的时候在批量生成的时候被警告,占用了近100%的cpu,换用ss生成的时候没有这样的问题。
回复

使用道具 举报

Gnagno 发表于 2009-7-5 22:45:03 | 显示全部楼层
后台设置下不占资源的办法
回复

使用道具 举报

littlehz 发表于 2009-7-6 00:26:08 | 显示全部楼层
如果你觉得是PHP.INI或者mysql.cnf或者httpd.conf的问题,至少也得把这几个文件贴出来分析吧(节省查阅工作量,把那些注释代码过滤了再贴上来,为了你服务器安全也不要把路径、版本等信息公开),还有考虑下你服务器上有没有执行一些计划任务的情况。
不过数据库量到了1G了,除非是很精通MySQL优化的系统工程师才能把这个MySQL配置好,否则有几条select * from `supe_spacenews` where `message` like '%搜索词%';的搜索语句足够让这个数据库不响应了。
要么你在数据库搜索系统上下功夫,可考虑开源的Sphinx或者张宴开发的mysqlcft;要么干脆禁止全文搜索了。
你可以配置mysql.cnf,记录slow-log,看看是哪些SQL语句让你的MySQL服务器响应缓慢了
回复

使用道具 举报

 楼主| 天馬流星 发表于 2009-7-6 08:36:22 | 显示全部楼层
如果你觉得是PHP.INI或者mysql.cnf或者httpd.conf的问题,至少也得把这几个文件贴出来分析吧(节省查阅工作量,把那些注释代码过滤了再贴上来,为了你服务器安全也不要把路径、版本等信息公开),还有考虑下你服务器 ...
littlehz 发表于 2009-7-6 00:26

多谢,稍后,我吧MY.CNF和HTTPD.cnf文件拷贝上来给大家看一下,一起帮忙分析一下。
回复

使用道具 举报

 楼主| 天馬流星 发表于 2009-7-6 08:38:54 | 显示全部楼层
如果你觉得是PHP.INI或者mysql.cnf或者httpd.conf的问题,至少也得把这几个文件贴出来分析吧(节省查阅工作量,把那些注释代码过滤了再贴上来,为了你服务器安全也不要把路径、版本等信息公开),还有考虑下你服务器 ...
littlehz 发表于 2009-7-6 00:26

数据库目前有800M,其中附件表和采集的日志就占了不少的空间。
新闻数目有35万条左右。

记得以前早期版本,论坛里有人发过一个清理采集日志的文件,可以把采集记录清空,现在找不到那个文件了。
还有,服务器转移后,我附件目录没有转移,放弃掉了,但是数据库表中仍然有10几万的附件记录,有什么办法清理掉?直接清空?
回复

使用道具 举报

 楼主| 天馬流星 发表于 2009-7-6 09:49:03 | 显示全部楼层
my.cnf 文件配置: *号为隐藏的路径

  1. [mysqld]
  2. datadir=*/mysql
  3. socket=*/mysql.sock
  4. user=mysql

  5. # Default to using old password format for compatibility with mysql 3.x
  6. # clients (those using the mysqlclient10 compatibility package).
  7. old_passwords=1

  8. [mysqld_safe]
  9. log-error=*/mysqld.log
  10. pid-file=*/mysqld.pid
复制代码
回复

使用道具 举报

littlehz 发表于 2009-7-6 10:56:01 | 显示全部楼层
这基本是默认配置,几乎没优化,你还是网上搜索一下Apache、MySQL优化的资料吧。可以肯定不是SS效率问题。
我这实验室环境下有一个spacenews的单表在3G左右,itemid数在80万,负载还行,不慢。当然由于是测试环境,也就填充的是无意义的测试数据,而不是正常网站的内容了。生产环境下的我这只有30多M,6000多记录的。
按测试数据SS负载能力应该是没问题,服务器优化多做些吧,MySQL的每个参数配置好,MySQL的各个缓存加大些,服务器上不需要的东西全关闭。加大服务器内存。

这里有使用非like查询语句的例子
https://discuz.dismall.com/redire ... 14&ptid=1328892

当你的数据库容量大的时候就应该掌握非常多的服务器端技术了,只靠现有系统不做优化是不行的。
回复

使用道具 举报

littlehz 发表于 2009-7-6 10:57:30 | 显示全部楼层
附件表supe_attachments,如果没有附件文件了,清空内容吧(不是删除表),不过附件表十万条记录不是很影响,主要影响在于资讯表。
当然删除前先备份。
回复

使用道具 举报

 楼主| 天馬流星 发表于 2009-7-6 13:07:38 | 显示全部楼层
9# littlehz

多谢你的指点和答复,我再慢慢研究研究。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-9 19:35 , Processed in 0.029263 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表