我们有一个虚拟化的LAMP + memcached + nginx设置,经过几个月前的一些调整后,直到最近(3-4个星期前)才performance良好。 在高峰时间,服务器变得几乎无法访问,通常与nginx给500 – 尽pipe我原来的评估似乎没有超时相关,因为这经常发生在一两秒钟内。 看看我们的munin图,MySQL似乎是罪魁祸首,但我不明白为什么。 在此之前,每秒查询次数会像预期的那样在高峰时间上升,最终达到一个可控的高峰,并在几小时后消失。 现在,尽pipe峰值并不比以前高,但是一旦峰值达到峰值,性能坦克就会出现,如吞吐量和查询/秒指标所反映的那样。 CPU至less有50%空闲,有几个内存仍未使用,并且没有交换或I / O争用。 缓慢的MySQL查询以每秒0.01-0.02的速度上升,并且很less有超过15个线程同时运行。 我注意到的一件事情是,与这些情节中的每一个相对应的MySQL磁盘写入略微(2-4K块/秒)的增加,尽pipe我不能直接看到连接是什么,但我必须相信这是相关的。 mysqltuner提出了一些与内存有关的更改,主要有以下几点: query_cache_limit (> 4M, or use smaller result sets) sort_buffer_size (> 32M) read_rnd_buffer_size (> 32M) innodb_buffer_pool_size (>= 9G) 我很难评估这些变化可能会产生什么影响,或者主要的问题是什么,我可以发现没有明显的争议。 数据库的主要部分是约1000万用户logging和相关数据,其中每天访问约150万,每月约130万。 任何意见如何进行表示赞赏。 附录:看起来nginx通常是以“24:太多打开的文件”失败的,包括试图与Apache交谈的时候。 ulimit说nginx的文件句柄限制是1024 – 这是不是太less? 附录2 /答案:好吧,尴尬,我find了我自己的问题的答案,这与上面的附录有关。 Nginx的同时打开的文件句柄的限制设置为1024.因此,许多向Apache发出的请求从未交付,导致MySQL吞吐量自然下降 – 这不是因为MySQLperformance不佳,而是因为有这么多的请求做了这么多。 这并不能解释磁盘活动的增加,但可能在问题出现之前,这种活动总是存在 – 可悲的是,性能图不能回到那么远。 无论如何,我加了“worker_rlimit_nofile 2048” 到nginx.conf,它覆盖了ulimit认为最大的文件句柄,性能已经恢复。 如果有人遇到这个问题,那么这就是答案。 ;) (为了logging,我不能/实际上/回答我自己的问题,因为这个问题太新了。)
我有一个债券接口,但是我想只将bond9:22的MTU更改为1500 这可能吗? bond9:22链接封装:以太网HWaddr 00:0E:0C:E4:BE:F9 inet addr:10.7.18.58 Bcast:10.7.18.255 Mask:255.255.255.0 UP BROADCAST RUNNING MASTER MULTICAST MTU:1492公制:1 bond9:23链接封装:以太网HWaddr 00:0E:0C:E4:BE:F9 inet addr:10.7.18.60 Bcast:10.7.18.255 Mask:255.255.255.0 UP BROADCAST RUNNING MASTER MULTICAST MTU:1492公制:1 bond9:24链接封装:以太网HWaddr 00:0E:0C:E4:BE:F9 inet addr:10.7.18.56 Bcast:10.7.18.255 Mask:255.255.255.0 UP BROADCAST MASTER MULTICAST MTU:1492公制:1
我已经使用rpm -qa来导出安装在linux机器上的软件包列表。 之后,我在导出的文件中没有看到任何IBM domino服务器相关的软件包。 我可以知道什么是可能的情况,防止IBM多米诺骨牌服务器相关的包输出到文件中。 有什么可能的方法来找出多米诺服务器是否安装在机器上?
我正在尝试在服务器上启用syn cookie,但是我不能。 root@server [~]# echo '1' > /proc/sys/net/ipv4/tcp_syncookies root@server [~]# cat /proc/sys/net/ipv4/tcp_syncookies 0 root@server [~]# 什么是错的,我怎么能启用syn cookie?
警告:这里总Sendmail noob。 是否有限制sendmail,以便它只能发送邮件到特定的电子邮件地址,无论是按列表或模式(首选) 理想情况下,我希望能够指定地址,如test*@host.com ,但是,如果我需要指定个人地址,如[email protected] , [email protected]那么这样吧。 我不一定粘在Sendmail,所以如果我需要使用不同的系统来实现上述我打开它。 感谢您的任何build议!
我有一个OpenVPN服务器,称之为vpn-server,后面有一个局域网192.168.3.0/24。 客户端vpn-client也有一个局域网,10.4.0.0/24。 192.168.3.0/24上的机器可以访问10.4.0.0/24(有一个例外)。 10.4.0.0/24上的机器可以访问192.168.3.0/24。 (服务器和客户端都是基于Linux的。) 一个例外是VPN主机本身不能访问10.4.0.0/24。 irc上的#openvpn中有人提到,当openvpn服务器连接到客户端networking时,它使用的是VPN IP,而不是本地IP,我应该检查我的iptables伪装规则。 我的伪装规则和相关接口的接口configuration在http://pastebin.com/Q9RDy0es 。 服务器和客户端的OpenVPNconfiguration文件可以在http://pastebin.com/gtfm82pEfind。 我觉得这是主机方面的防火墙问题,但我似乎无法得到它的工作。 我需要新的/不同的伪装规则吗? 我很确定VPNconfiguration是正确的。 VPN服务器路由表 Destination Gateway Genmask Flags Metric Ref Use Iface 10.54.1.9 * 255.255.255.255 UH 0 0 0 tun1 10.8.1.2 * 255.255.255.255 UH 0 0 0 tun0 <pubIP redacted> * 255.255.255.248 U 0 0 0 eth1 10.18.1.0 10.8.1.2 255.255.255.0 UG 0 0 0 […]
我有一个EC2实例,并试图将mysql数据目录从默认驱动器移动到另一个EBS卷。 我将/var/lib/mysql的mysql目录移动到了新目标,然后修改了my.cnf文件以将数据目录指向新的位置。 然后我试图重新启动MySQL我收到以下消息。 MySQL Daemon failed to start. Starting mysqld: [FAILED] 我正在运行一个新的EC2实例附带的Linux的默认分配。 以下是my.cnf文件和mysqld.log详细信息。 有什么我可能做错的build议? my.cnf中 [mysqld] #datadir=/var/lib/mysql datadir=/root/appfinder/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 设置文件夹的权限 chmod -R 777 /root/appfinder/mysql mysqld.log 110616 18:37:53 mysqld_safe Starting mysqld daemon with databases from /root/appfinder/mysql /usr/libexec/mysqld: Table 'plugin' is read […]
我有两个Ubuntu的服务器。 每个由phpfpm,memcached,mongodb运行的php-cgi。 而这些服务器没有在高负载状态下运行。 跑了几天后。 服务器将停止。 没有服务和端口可以连接。 包括memcached(11211),mongodb(27017)。 所以我觉得它停了。 但它可以ping和SSH(22)可以连接。 但只是连接。 没有像往常一样的authentication。 而我不能在我的服务器前。 我只能通过SSH来控制它。 但我可以重新启动服务器。 重启后。 一切都好。 但是这种情况会一再发生。 我认为这个问题可能是由mongodb造成的。 因为除了mongodb,我还有其他服务器运行相同的环境。 但我不确定。 即使我确定罪魁祸首是mongodb。 我不知道如何解决这个问题。 任何人都知道如何和为什么?
我有一个自动化过程,这是一个在Fedora 6/14上运行的Java程序。 我经常面对的一个问题就是这个过程自动被杀死了。 理想情况下,这个过程已经编程至less12-14小时。 但是在它之间的某个地方被杀死了。 我已经检查过OOM Killer是否是根本原因,但在/ var / log / messages中没有任何tracelog来提示。 还有其他好点子吗?
我正尝试在yum上的Ec2上安装一个Centos vm上的Nagios。 当试图重新启动httpd来获取Nagios时,我被这个错误logging形成了http错误日志 Attempt to serve directory: /usr/share/nagios/html/ 这是我的nagios.conf <VirtualHost *> ServerName nagios.xx.com ServerAlias nagios.xx.com ScriptAlias /nagios/cgi-bin/ /usr/lib64/nagios/cgi-bin/ <Directory /usr/lib64/nagios/cgi-bin/> Options ExecCGI order deny,allow deny from all allow from 127.0.0.1 AuthType Basic AuthUserFile /etc/nagios/passwd AuthName "nagios" require valid-user </Directory> Alias / /usr/share/nagios/html/ <Directory /usr/share/nagios/html/> Options None order deny,allow deny from all allow from 127.0.0.1 AuthType […]