使用eBeSucher流量交换时服务器崩溃

时间:2016-03-19 22:52:21

标签: php wordpress dedicated-server query-cache mysqltuner

6个网站首先关闭所有专用服务器,其中2个网站获得非常稳定的流量。我会说他们在两个网站上始终至少有90到120人,其余的则为15到25人。

这些网站目前运行良好,直到最后3天,当调用付费流量分享公司时,其他4个网站的流量与主要在同一服务器上托管的网站一样多 - 导致网站在制作之前立即超时一个正确的请求,如果它决定加载2到3次刷新后需要几个加30秒才能上拉。一旦你开始向内点击,网站将如何开始加载更快,但总是会很快回落。

我一直在使用mysqltuner对my.cnf文件进行更改 - 但设置无法正常工作。以及将它们调整到合适的曲调。服务器是20TB,并有更多的带宽来支持自己。

这些网站都是安装了WP-Super Cache的文字,所以它应该超过快速。下面是我的配置设置,我确定有点失衡。请注意,清理时的表错误不是WP站点中的表,与性能无关。

mysqltuner结果

-------- Performance Metrics -------------------------------------------------
[--] Up for: 10h 23m 10s (11M q [295.373 qps], 666K conn, TX: 77G, RX: 1G)
[--] Reads / Writes: 50% / 50%
[--] Binary logging is disabled
[--] Total buffers: 4.8G global + 4.6M per thread (1000 max threads)
[OK] Maximum reached memory usage: 5.3G (67.58% of installed RAM)
[!!] Maximum possible memory usage: 9.3G (119.39% of installed RAM)
[OK] Slow queries: 0% (678/11M)
[OK] Highest usage of available connections: 10% (104/1000)
[OK] Aborted connections: 0.08%  (528/666673)
[OK] Query cache efficiency: 69.3% (2M cached / 3M selects)
[!!] Query cache prunes per day: 130766
[OK] Sorts requiring temporary tables: 0% (109 temp sorts / 179K sorts)
[!!] Temporary tables created on disk: 58% (111K on disk / 191K total)
[OK] Thread cache hit rate: 99% (120 created / 666K connections)
[OK] Table cache hit rate: 40% (2K open / 5K opened)
[OK] Open file limit used: 19% (1K/10K)
[OK] Table locks acquired immediately: 99% (1M immediate / 1M locks)

-------- MyISAM Metrics ------------------------------------------------------
[!!] Key buffer used: 29.0% (19M used / 68M cache)
[OK] Key buffer size / total MyISAM indexes: 65.0M/64.1M
[OK] Read Key buffer hit rate: 100.0% (30M cached / 13K reads)
[!!] Write Key buffer hit rate: 13.0% (239K cached / 208K writes)

-------- InnoDB Metrics ------------------------------------------------------
[--] InnoDB is enabled.
[!!] InnoDB buffer pool / data size: 4.0G/8.7G
[!!] InnoDB buffer pool instances: 1
[!!] InnoDB Used buffer: 23.71% (62152 used/ 262144 total)
[OK] InnoDB Read buffer efficiency: 99.99% (390201875 hits/ 390245584 total)
[!!] InnoDB Write Log efficiency: 85.21% (1596393 hits/ 1873419 total)
[OK] InnoDB log waits: 0.00% (0 waits / 277026 writes)

-------- ThreadPool Metrics --------------------------------------------------
[--] ThreadPool stat is disabled.

-------- AriaDB Metrics ------------------------------------------------------
[--] AriaDB is disabled.

-------- TokuDB Metrics ------------------------------------------------------
[--] TokuDB is disabled.

-------- Galera Metrics ------------------------------------------------------
[--] Galera is disabled.

-------- Replication Metrics -------------------------------------------------
[--] No replication slave(s) for this server.
[--] This is a standalone server..

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    Set up a Secure Password for user@host ( SET PASSWORD FOR 'user'@'SpecificDNSorIp' =                                                                                 PASSWORD('secure_password'); )
    MySQL started within last 24 hours - recommendations may be inaccurate
    Reduce your overall MySQL memory footprint for system stability
    Increasing the query_cache size over 128M may reduce performance
    Temporary table size is already large - reduce result set size
    Reduce your SELECT DISTINCT queries without LIMIT clauses
Variables to adjust:
  *** MySQL's maximum memory usage is dangerously high ***
  *** Add RAM before increasing MySQL buffer variables ***
    query_cache_size (> 128M) [see warning above]
    innodb_buffer_pool_size (>= 8G) if possible.
    innodb_buffer_pool_instances(=4)

这是my.cnf文件

[mysqld]
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
tmpdir=/dev/shm
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

open_files_limit=10000
query_cache_size=128M
query_cache_type=1
max_connections=1000
max_user_connections=25
wait_timeout=300
tmp_table_size=512M
max_heap_table_size=512M
thread_cache_size=64
key_buffer_size=65M
max_allowed_packet=268435456
table_cache=2048
table_definition_cache=2048

#delayed_insert_timeout=20 # Turn on if max_connections being reached due to delayed inserts
#delayed_queue_size=300 # Turn on if max_connections being reached due to delayed inserts

myisam_sort_buffer_size=32M # can be increased per sessions if needed for alter tables (indexes, repair)

query_cache_limit=2M # leave at default unless there is a good reason
join_buffer=2M # leave at default unless there is a good reason
sort_buffer_size=2M # leave at default unless there is a good reason
#read_rnd_buffer_size=256K # leave at default unless there is a good reason
#read_buffer_size=2M # leave at default unless there is a good reason

collation_server=utf8_unicode_ci
character_set_server=utf8

general_log=0
slow_query_log=1
log-output=TABLE # select * from mysql.general_log order by event_time desc limit 10;
long_query_time=5 # select * from mysql.slow_log order by start_time desc limit 10;

low_priority_updates=1
innodb_file_per_table=1

innodb_buffer_pool_size=4G # check mysql -e "SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool%';" - free vs total
innodb_additional_mem_pool_size=62M
innodb_log_buffer_size=62M
innodb_thread_concurrency=8 # Number of physical + virtual CPU's, preset when server is provisioned to have correct # of cores

default-storage-engine=MyISAM
[mysqld_safe]

我在这里做过流量分享网站可能会因为ping你的服务器而伤害你,以获得他们发送给你的流量统计数据 - 不确定这是一个值得关闭的兔子洞,还是我刚刚配置不好的配置。任何帮助,想法或想法都将非常受欢迎。

非常感谢!

1 个答案:

答案 0 :(得分:0)

"碎片表" - 假;不要进行优化。

"危险的高内存使用率" - 不,不是。但要关闭它,请将max_connections减少到200。

query_cache_size有点高达128M;不要提高它。

许多基于磁盘的tmp表 - 将long_query_time降低到1(秒)并打开SlowLog。一两天后回来,让我们看看顽皮的询问是什么。请注意,这也会引发慢速查询"高于0%。我看到你打开它并发送到TABLE。因此,使用select * from mysql.slow_log order by query_time desc limit 5来获取有趣的查询。让我们和SHOW CREATE TABLE一起讨论它们。

MyISAM和InnoDB指标并不是那么糟糕;不需要采取任何行动。

tmp_table_size=512Mmax_heap_table_size=512M危险地高;将它们保持在RAM的1%以下。

table_cache=2048 - 即使在上升的前10个小时内也有一些颠簸;增加到4K

您似乎同时使用MyISAM和InnoDB。