ASP.NET MVC4应用程序在Debian x64 Linux中使用Apache,Mono 3.2.8和mod_mono运行
每月有时服务器停止响应:
还有mod_mono控制面板和apache服务器状态模块。
在浏览器中键入mysite.com
,mysite.com/server-status
或mysite.com/mono
会永远等待。
top表明cpu的使用率几乎为零,并且有大量的可用内存。
web.config中没有特殊超时,因此每个线程应该在110秒后终止 如果它挂起 看起来apache停止响应,可能达到了最大数量的并发连接。 这是购物车应用程序,搜索引擎机器人每天都会拨打大量的电话。
如何解决或找到那些挂断的原因?
创建cron作业是否合理
wget --tries=1 --timeout=5 www.mysite.com || /etc/init.d/apache2 restart
每隔10分钟运行一次?如果发生挂断,这会重启apache吗?
使用crontab -e
并添加行
10 * * * * wget --tries=1 --timeout=5 www.mysite.com || /etc/init.d/apache2 restart
每小时只运行一次检查。如何每隔10分钟检查一次?
apache2 -V返回:
Server version: Apache/2.2.22 (Debian)
Server built: Feb 1 2014 21:26:17
Server's Module Magic Number: 20051115:30
Server loaded: APR 1.4.6, APR-Util 1.4.1
Compiled using: APR 1.4.6, APR-Util 1.4.1
Architecture: 64-bit
Server MPM: Worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"