我在使用Drupal 6开发的网站时遇到了问题,这种网站表现得很奇怪。
问题是,少于50个用户,服务器的CPU使用率达到100%(今天它发生在40个用户的峰值)。过去更糟糕的是,服务器崩溃并且网站因此而关闭,但现在它只是很慢。如果我们有100个用户而不是50个,那么它可能会再次崩溃。
以下是服务器配置:
CPU
Intel(R)Core(TM)2 Duo CPU E6550 @ 2.33GHz
缓存:4096KB
的 RAM
2x 2048Mo
的驱动器:
2 x 750 Go
不知何故,我觉得在这个网站上有50个用户类似于在优化得当的网站上有500个用户。就像drupal网站增加无用查询的数量一样,使网站变得如此缓慢。尽管网站上的用户数量普遍较少,但每分钟的请求数为3300(最大同时连接数为35)。
我使用的是mysqltuner,这里是推荐的文件可能有用:
--------推荐-------------------------------------- --------------- 一般建议: 运行OPTIMIZE TABLE对表进行碎片整理以获得更好的性能 MySQL在过去24小时内启动 - 建议可能不准确 启用慢查询日志以解决错误查询 减少或消除持久连接以减少连接使用 调整连接查询以始终使用索引 进行调整时,使tmp_table_size / max_heap_table_size相等 在没有LIMIT子句的情况下减少SELECT DISTINCT查询 将thread_cache_size设置为4作为起始值 逐渐增加table_cache以避免文件描述符限制 在将table_cache增加到64之前阅读此内容:http://bit.ly/1mi7c4C
要调整的变量:
wait_timeout (< 28800) interactive_timeout (< 28800) query_cache_size (>= 8M) join_buffer_size (> 128.0K, or always use indexes with joins) tmp_table_size (> 32M) max_heap_table_size (> 16M) thread_cache_size (start at 4) table_cache (> )
我知道您可能需要更多信息才能找出配置中可能出现的错误。请问我需要什么,我很乐意编辑我的信息,以提供您认为相关的任何信息。
答案 0 :(得分:1)
50个并发用户很多。 50 /秒意味着每天超过400万。
您可以应用大量的性能技巧
还有更多..
答案 1 :(得分:1)
从前端到后端进行优化
后端优化: 网络服务器优化和其他你可以看到答案1。