将新闻稿(不是使用wordpress,而是使用其他外部新闻稿活动工具)发送到3,298 recipients, 我们有独特的开放:155, 服务器有太多httpd实例和mysql的100%cpu。
专用机器
CentOS Linux 6.5
Linux 2.6.32-431.17.1。el6。x86\\u 64上的x86\\u 64 Webmin版本:1.701处理器:4实际内存:总计15.57 GB虚拟内存:总计4 GB Apache/2.2.15(保持活动状态)
MySQL v.5.1.73-log
WordPress 3.9.2运行铲斗(http://themeforest.net/item/bucket-a-digital-magazine-style-wordpress-theme/6107209) 子主题
数据库大小=1.6 GB
wp\\u posts=118999(行)
wp\\u postmeta=1656568(行)
WordPress插件正在运行。其他图像大小(zui)
2。联系表格7。自定义用户配置文件照片4。论文评论系统。谷歌WordPress分析6。专业新闻稿7。Photorati的下一个画廊8。下一篇报道:社交网络汽车海报。P3(插件性能分析器)
10。像素码
11。像素类型
12。Post title字幕滚动条13。UBM溢价
14。Vixy YouTube嵌入15。W3总缓存(启用APC)
16。Wordfence安全性17。WP优化
18。另一个相关帖子插件
从…起wp-confing.php
/** Enable W3 Total Cache */
define(\'WP_CACHE\', true); // Added by W3 Total Cache
/** Enable W3 Total Cache */
define( \'AUTOMATIC_UPDATER_DISABLED\', true );
define(\'DISABLE_WP_CRON\', true);
define( \'DISALLOW_FILE_EDIT\', true );
define(\'WP_MEMORY_LIMIT\', \'256M\');
define(\'WP_MAX_MEMORY_LIMIT\', \'512M\');
MySQLTuner脚本的结果
MySQLTuner 1.3.0 - Major Hayden <[email protected]>
Run with \'--help\' for additional options and output filtering
[OK] Currently running supported MySQL version 5.1.73-log
[OK] Operating on 64-bit architecture
-------- Storage Engine Statistics -------------------------------------------
[--] Status: +CSV +InnoDB +MRG_MYISAM
[--] Data in MyISAM tables: 442M (Tables: 25)
[--] Data in InnoDB tables: 1G (Tables: 68)
[!!] Total fragmented tables: 61
-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned
-------- Performance Metrics -------------------------------------------------
[--] Up for: 5d 21h 7m 0s (35M q [70.046 qps], 379K conn, TX: 152B, RX: 7B)
[--] Reads / Writes: 59% / 41%
[--] Total buffers: 5.9G global + 4.2M per thread (500 max threads)
[OK] Maximum possible memory usage: 8.0G (51% of installed RAM)
[OK] Slow queries: 0% (23K/35M)
[OK] Highest usage of available connections: 17% (88/500)
[OK] Key buffer size / total MyISAM indexes: 128.0M/75.2M
[OK] Key buffer hit rate: 99.8% (101M cached / 155K reads)
[OK] Query cache efficiency: 46.9% (11M cached / 23M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 1% (30K temp sorts / 1M sorts)
[!!] Temporary tables created on disk: 32% (1M on disk / 4M total)
[OK] Thread cache hit rate: 99% (259 created / 379K connections)
[!!] Table cache hit rate: 0% (96 open / 64K opened)
[OK] Open file limit used: 0% (2/65K)
[OK] Table locks acquired immediately: 99% (21M immediate / 21M locks)
[OK] InnoDB buffer pool / data size: 4.0G/1.0G
[OK] InnoDB log waits: 0
-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Temporary table size is already large - reduce result set size
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Read this before increasing table_cache over 64:
Variables to adjust:
table_cache (> 64)
有人能建议一下要找什么吗<谢谢你!
SO网友:kovshenin
我想你有两个问题,一个是简单地揭示另一个。
第一个问题是,新闻稿软件/服务可能使用独特的链接来跟踪点击和活动。例如,如果在MailChimp活动中启用了Google Analytics跟踪,它将附加一个utm_campaign
每个目标URL都有一个变量,每个用户都有一个唯一的utm_term
变量
这意味着,电子邮件活动中的每一次单击都是一个唯一的URL,您的页面缓存插件可能不会从缓存中提供服务(假设您使用的是页面缓存插件),而是从头开始生成,这可能会导致负载。我不确定W3 Total Cache是否正确,可能有设置或其他原因,但下面是我如何忽略的utm_
我的Batchache配置中的变量:
// Ignore get keys not used by PHP to serve cached pages.
$ignore_get_keys = array( \'utm_source\', \'utm_medium\', \'utm_term\', \'utm_content\', \'utm_campaign\' );
parse_str( $_SERVER[\'QUERY_STRING\'], $query );
foreach ( $ignore_get_keys as $key ) {
if ( isset( $query[ $key ] ) )
unset( $query[ $key ] );
if ( isset( $_GET[ $key ] ) )
unset( $_GET[ $key ] );
}
$_SERVER[\'QUERY_STRING\'] = http_build_query( $query );
第二个问题是,您的4核16G服务器因155次打开而死亡。合理配置的5美元单核512M服务器每秒可以处理5000多个请求,页面缓存是公平的。大约每秒5-10次,无需缓存。
因此,根据我非常粗略的计算,您应该能够每秒至少提供50个请求,而无需缓存,因此,如果155个打开导致服务器上出现大量负载问题,那么显然是出了问题。
分析是一个很好的开始。获得一个XHProf模块,甚至可以在生产服务器上完成。让it部门发送电子邮件和/或记录耗时超过1s的请求,您可能会很快发现瓶颈。
在找出瓶颈并对其进行排序后,我还建议您放弃Apache,转而使用fpm模式下的nginx和php 5.6。