On 18 Oct 2016, at 4:47 PM, Wen Wang <ww948...@gmail.com> wrote:如题,昨天晚上发现上不去的。看了是要备份一下自己写的东西了。--
您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+u...@googlegroups.com。
访问此群组:https://groups.google.com/group/ustc_lug。
要查看更多选项,请访问https://groups.google.com/d/optout。
应该是维护人员在做安全加固.
On 18 Oct 2016, at 4:47 PM, Wen Wang <ww948...@gmail.com> wrote:
如题,昨天晚上发现上不去的。看了是要备份一下自己写的东西了。--
您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+unsubscribe@googlegroups.com。
--
您收到此邮件是因为您订阅了Google网上论坛上的“USTC_LUG”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+unsubscribe@googlegroups.com。
On 18 Oct 2016, at 9:43 PM, Bojie Li <boj...@gmail.com> wrote:今天中午 Alkaid 跟我说 blog 出问题了,前面去看了两个小时,还没有搞定。现在主要发现几个问题:1. php-fpm worker 子进程数量过多,内存不够用。磁盘缓存被换出了,导致大量随机磁盘访问,系统负载特别高,我刚登上去那段时间终端几乎动不了。已经修改了 php-fpm.conf 中的 pm.max_children,从 200 改成了 30。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到ustc_lug+u...@googlegroups.com。
我们问下james能不能加点内存和CPU?从监控来看,CPU和内存都比较紧张。On 18 Oct 2016, at 9:43 PM, Bojie Li <boj...@gmail.com> wrote:今天中午 Alkaid 跟我说 blog 出问题了,前面去看了两个小时,还没有搞定。现在主要发现几个问题:1. php-fpm worker 子进程数量过多,内存不够用。磁盘缓存被换出了,导致大量随机磁盘访问,系统负载特别高,我刚登上去那段时间终端几乎动不了。已经修改了 php-fpm.conf 中的 pm.max_children,从 200 改成了 30。
我看可以把swap关掉,oom 就直接 kill 掉,毕竟真 oom 的时候 swap 也救不了你。
如果blog能一直维护下去,且确实很多人在用的话,向网络中心再申请资源也未尝不可。
由于 WordPress 比较臃肿,访问一个页面需要的 CPU 计算量很大。例如,访问 servers.ustclug.org 首页的延迟在 640ms 左右(不计网络传输时间),事实上这段时间基本都是耗在 CPU 上了。我们的服务器只有 4 个核,每秒只能处理大约 6 次访问首页的请求。我用 ab 压力测试,吞吐量确实是 6 次每秒,此时服务器的 4 个核都满了。blog 每天的 HTTP 请求数大约是 100k 到 200k,平均每秒 2 次请求,我去看的时候 tail -f access.log 基本上是不断刷出来的。从 Ganglia 监控的 load average 来看,也是经常达到或超过红线(4)。可以预料,在流量高峰时段或者某个博客突然火了的时候,服务器每秒 6 次的处理能力是远远不能满足需求的。
On 19 Oct 2016, at 3:27 AM, Bojie Li <boj...@gmail.com> wrote:昨晚 23 点左右修好了,导致这次故障的是某用户安装的某 wordpress 访问统计插件。该插件每访问一次页面都会进行一个很低效的数据库查询,复杂度相当于扫描所有历史访问记录,返回的数据集也很大,CPU 几乎都被这个插件占了。我把该插件禁用后,服务器负载恢复正常。
网站从17日晚上开始经常 502 的原因比较复杂。昨晚 php-fpm 大量线程被该数据库查询卡住后,由于 php-fpm 最大线程数设置过高(200),大量的并发线程占用了大量内存,一方面磁盘缓存被换出,另一方面部分内存被换出到 swap,引发 OOM kill。负责记录请求和执行特权操作的 blog-daemon 被 OOM kill 了。php-fpm 的每个请求处理结束时,按照我当年魔改的逻辑,都会往 blog-daemon 发请求去记录日志。由于连接失败,php 请求处理结束的清理阶段就会终止执行。
php 在请求处理结束的清理阶段终止执行,第一个后果:如果此时页面内容已经通过 fastcgi 发给 nginx,则用户看到的是正常的页面;如果此时页面内容尚在 php-fpm 的缓冲区内,则 php-fpm 通过 fastcgi 发送的错误信号就会给用户显示 502。因此会发现有时能正常显示,有时很快返回 502。当然系统负载特别高,接近 OOM 的时候,几乎所有请求都无法在超时前处理完(超时后返回 499)。第二个后果:PHP 脚本结束时的一些垃圾回收机制没有被执行,导致数据库连接每个页面建立起来之后就没有关闭,PHP 运行过程中分配的一些内存也没有释放,导致内存泄漏。
Alkaid 发现昨天中午开始服务器网络流量异常升高,事实上是因为 Ganglia 算网络流量时把 loopback 也算进去了,也就是把访问数据库的流量也算进去了。从 HTTP 请求数量和分布来看,并没有遭到拒绝服务攻击。扫描了几个访问量较大的 blog,也没有发现类似挂马的 php 程序。https://status.ustclug.org/?r=custom&cs=10%2F18%2F2016+00%3A00+&ce=10%2F19%2F2016+00%3A00+&m=load_one&s=by+name&c=blog&h=&host_regex=&max_graphs=0&tab=m&vn=&hide-hf=false&sh=1&z=small&hc=4
由于 WordPress 比较臃肿,访问一个页面需要的 CPU 计算量很大。例如,访问 servers.ustclug.org 首页的延迟在 640ms 左右(不计网络传输时间),事实上这段时间基本都是耗在 CPU 上了。我们的服务器只有 4 个核,每秒只能处理大约 6 次访问首页的请求。我用 ab 压力测试,吞吐量确实是 6 次每秒,此时服务器的 4 个核都满了。blog 每天的 HTTP 请求数大约是 100k 到 200k,平均每秒 2 次请求,我去看的时候 tail -f access.log 基本上是不断刷出来的。从 Ganglia 监控的 load average 来看,也是经常达到或超过红线(4)。可以预料,在流量高峰时段或者某个博客突然火了的时候,服务器每秒 6 次的处理能力是远远不能满足需求的。
因此我希望把 blog 迁移到 LUG 图书馆机房的集群上,可以给更多的内存(如 8G)和更多的 CPU(例如动态分配 CPU,最多可以使用物理节点的所有核)。现在 LUG 很多内部服务都在图书馆机房集群上,但负载不是很高。大家有什么看法?
昨晚修好之后就去忙其他任务了,忙完了之后才发的这个邮件。2016-10-18 22:14 GMT+08:00 Bojie Li <boj...@gmail.com>:2016-10-18 22:02 GMT+08:00 Wang Shanker <shanker...@gmail.com>:我看可以把swap关掉,oom 就直接 kill 掉,毕竟真 oom 的时候 swap 也救不了你。现在平时内存就不太够用(4G),没有 swap 的话,并发稍微多一点就 oom 了,有 4G swap 还能缓冲一点。
想问个问题,可能有点偏了,有没有考虑过用 CDN 呢?考虑过的话。。。国内有没有好的 CDN 推荐呢:)
WordPress 设计上就十分占资源,此外各种实现糟糕的插件会使情况变得雪上加霜……建议以后关键性的blog不要用 WordPress。功能需求不多(比如servers.ustclug.org)可以直接用ghost代替。
另外并不是所有人都需要那么多功能,可以考虑用户分层然后提供资源
如果blog能一直维护下去,且确实很多人在用的话,向网络中心再申请资源也未尝不可。
这个想法挺好的。是打算跑在Docker里吗?或用传统的虚拟机?因此我希望把 blog 迁移到 LUG 图书馆机房的集群上,可以给更多的内存(如 8G)和更多的 CPU(例如动态分配 CPU,最多可以使用物理节点的所有核)。现在 LUG 很多内部服务都在图书馆机房集群上,但负载不是很高。大家有什么看法?
想问个问题,可能有点偏了,有没有考虑过用 CDN 呢?考虑过的话。。。国内有没有好的 CDN 推荐呢:)
看了下 blog 的监控图[1],blog 最近做了什么改动吗?不是 bug 导致内存泄露了?
[1] https://status.ustclug.org/graph.php?r=week&z=xlarge&h=blog&m=load_one&s=by+name&mc=2&g=mem_report&c=blog
怕在servers.ustclug.org回的看不到, 转载到此.
科大博客真心不错!
1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)
2. 我真的完全忘了科大博客有个注册页面, 现在我登陆忘了用户名密码, 不知道有没有办法找回? (我同学新开通的就是wp登陆用户名和密码, 但是我自己可能是在wp中修改了密码? 能登陆wp不能在科大博客登陆http://blog.ustc.edu.cn/)
3. 好像FTP不能用了? (我修改了登陆ip后也提示用户名/密码不正确, 这个可能是上面提及的科大博客的登陆用户名?)
4. 我使用的是P2主题, 在本地测试一起正常, 但是在科大博客上老是判断我离线了, 例如点击https://van.blog.ustc.edu.cn/ 这个的Whatcha up to?下面的框框, 就会弹出警告. 看了相关代码.
祝科大博客也做越好.
哦, 对了, 以前好像说有个科大博客聚合墙之类的? 就是可以看到大家写的比较优质的博客内容, 不知咋样了?
1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)
2. 我真的完全忘了科大博客有个注册页面, 现在我登陆忘了用户名密码, 不知道有没有办法找回? (我同学新开通的就是wp登陆用户名和密码, 但是我自己可能是在wp中修改了密码? 能登陆wp不能在科大博客登陆http://blog.ustc.edu.cn/)
3. 好像FTP不能用了? (我修改了登陆ip后也提示用户名/密码不正确, 这个可能是上面提及的科大博客的登陆用户名?)
4. 我使用的是P2主题, 在本地测试一起正常, 但是在科大博客上老是判断我离线了, 例如点击https://van.blog.ustc.edu.cn/ 这个的Whatcha up to?下面的框框, 就会弹出警告. 看了相关代码.
祝科大博客也做越好.
哦, 对了, 以前好像说有个科大博客聚合墙之类的? 就是可以看到大家写的比较优质的博客内容, 不知咋样了?
On 14 Nov 2016, at 8:11 PM, Bojie Li <boj...@gmail.com> wrote:2016-11-14 20:00 GMT+08:00 van14...@gmail.com <van14...@gmail.com>:1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)
不用的博客几乎不占资源,不用删除。
2. 我真的完全忘了科大博客有个注册页面, 现在我登陆忘了用户名密码, 不知道有没有办法找回? (我同学新开通的就是wp登陆用户名和密码, 但是我自己可能是在wp中修改了密码? 能登陆wp不能在科大博客登陆http://blog.ustc.edu.cn/)
可以试试 WP 后台的找回密码功能,如果收不到找回密码邮件。给 lug AT ustc.edu.cn,我们可以人工处理。3. 好像FTP不能用了? (我修改了登陆ip后也提示用户名/密码不正确, 这个可能是上面提及的科大博客的登陆用户名?)
确实 FTP 不能用了,因为 FTP 配置防火墙规则比较麻烦,为了安全就把 FTP 的端口给封了。4. 我使用的是P2主题, 在本地测试一起正常, 但是在科大博客上老是判断我离线了, 例如点击https://van.blog.ustc.edu.cn/ 这个的Whatcha up to?下面的框框, 就会弹出警告. 看了相关代码.
这个 Whatcha up to? 在哪里?我在首页上没有找到。P2 主题有显示在线和离线的功能?是指是否登录吗?需要注意 http 和 https 的 cookie 不通用,如果用 https 登录了博客后台,再用 http 访问博客首页,显示的就是未登录状态。祝科大博客也做越好.
哦, 对了, 以前好像说有个科大博客聚合墙之类的? 就是可以看到大家写的比较优质的博客内容, 不知咋样了?
这个坑目前还没人填。
On 14 Nov 2016, at 8:11 PM, Bojie Li <boj...@gmail.com> wrote:2016-11-14 20:00 GMT+08:00 van14...@gmail.com <van14...@gmail.com>:1. 我有三个博客在科大wp上, 看到说资源有点紧张之类的, 我建议删除另外两个不常用博客. (其它两个主要是用了做测试的, 目前好像用户没办法删除)
不用的博客几乎不占资源,不用删除。指的是磁盘资源。 有一次发现blog服务器磁盘空间耗尽,查到有几个博客安装了备份插件,一天产生数GB的备份文件,很快服务器磁盘空间就耗尽了。blog方便针对用户限制磁盘配额吗?@boj
--
您收到此邮件是因为您订阅了Google网上论坛上“USTC_LUG”群组中的主题。
要退订此主题,请访问https://groups.google.com/d/topic/ustc_lug/UVw9Ic-hIYg/unsubscribe。
要退订此群组及其所有主题,请发送电子邮件到ustc_lug+u...@googlegroups.com。