2016-03-19 69 views
0

我有6個站點首先關閉都在同一個專用服務器,其中2個站點獲得非常穩定的流量。我會說他們總是在兩個站點上至少有90到120人,其餘的則是15到25。當使用eBeSucher流量交換時,服務器博格倒下

這些網站目前運行正常,直到最後3天,當一家付費流量共享公司被調用時,給予其他4個站點的流量與主服務器上的流量一樣多,這些流量全部託管在同一臺服務器上 - 導致站點立即超時做出正確的要求,如果在2至3次刷新後決定加載,則需要加上30秒才能拔出。一旦你開始點擊內容,這些網站將會以更快的速度開始加載,但總會很快回落。

我一直在使用mysqltuner對my.cnf文件進行更改 - 但設置並不像希望的那樣工作。以及調整他們到正確的曲調。服務器是20TB,並有更多的帶寬來支持自己。

這些網站都安裝了WP超級緩存,所以它應該比快速。下面是我的配置設置巫婆,我肯定已經變得有點失衡。請注意,用於清理的表錯誤不是來自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 [email protected] (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) 

這是

[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] 

我在這裏做了my.cnf文件共享流量的網站可以從超過ping你的服務器,以獲得流量的統計傷害你他們發送給你 - 不知道這是一個值得一試的兔子洞,或者是我的最終配置。任何幫助,想法或想法將不勝感激。

非常感謝!

回答

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=512M and max_heap_table_size=512M危險性高;將它們保持在RAM的1%以下。

table_cache=2048 - 即使在起牀的前10個小時內也有一些顛簸;增加到4K

您似乎同時使用MyISAM和InnoDB。