我得到了一个magento错误: SQLSTATEHY000: General : 2006 MySQL服务器已经消失
我怀疑这是因为大约300个用户同时访问了我的网站。
我的VPS规范:
Centos 6.5 64,Linode 2gb Ram,2 Core,Apache 2.2,Mysql 5.5,Panel Webuzo,没有apc,没有memcache,没有任何类型的缓存
这是my.cnf设置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
innodb_buffer_pool_size = 768M
innodb_flush_method=O_DIRECT
innodb_additional_mem_pool_size = 20M
key_buffer_size=128M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid问:您推荐什么样的服务器类型?安装缓存真的有帮助吗?抱歉,我是VPS的新手.
发布于 2014-12-01 19:20:08
如果您安装FPC,这将大大减少mysql负载。
因此,在升级服务器之前,建议您安装FPC。
此外,请确保使用了所有列表平面表。
如果仍然存在负载问题,我建议使用Solr,或者使用一些Solr桥,或者使用一些模块将一些负载从mysql移到Solr。
发布于 2014-12-01 10:17:35
这个问题似乎可以在不改变服务器的情况下得到解决,因为300个用户的数量太少,不太可能触发这样的问题。我们建议您测试服务器负载(启用缓存)并优化一些设置,如:
mysql (my.cnf),现有设置更改为:
[mysqld]
transaction-isolation = READ-COMMITTED
query_cache_limit = 1M
query_cache_size = 64M
thread_concurrency = 2
key_buffer = 128M
innodb_buffer_pool_size = 512M
innodb_additional_mem_pool_size = 16M
innodb_flush_log_at_trx_commit = 2如果对你有用,请告诉我们。
https://stackoverflow.com/questions/27224379
复制相似问题