发博客系统繁忙怎么回事 发博客系统繁忙怎么回事儿


发博客系统繁忙怎么回事 发博客系统繁忙怎么回事儿

文章插图
我通常保持这个博客严格的技术性 , 将观察、尽量少提意见 。但是 , 接下来的几篇文章将介绍新的系统管理/SRE/系统工程师/sysops/devops-ops(你想叫自己什么都行)角色的常见基础知识 。
请跟我来!
我只是随机选取了这篇文章的题型 , 这也适用于任何与系统管理员相关的故障排除 。我不是想炫耀能找到最多信息的最聪明的人“金句” 。也不是详尽无遗的、逐步指导、在最后一个盒子里被引导“利润”一词的“流程图” 。
我将通过一些例子来展示传统的方法 。
这个示例场景只是为了本文的目的 。有时他们会做出并不适用于所有情况的假设 , 肯定会有很多读者说“哦 , 但是我想你会发现……” 。
但这可能会让我们忽略重点 。
十多年来 , 我一直从事支持工作 , 或在支持机构工作 , 一件事让我一次次震惊 , 这促使我写了这篇文章 。
有很多技术人员遇到问题的本能反应 , 就是不管三七二十一 , 尝试可能的解决方案 。
“我的网站很慢 , 所以” , 
  • 我会试着放大它 MaxClients/MaxRequestWorkers/worker_connections
  • 我会努力提升 innodb_buffer_pool_size/effective_cache_size
  • 我将尝试启用 mod_gzip(遗憾的是 , 这是一个真实的故事)
“这个问题我以前见过 , 是某些原因造成的 —— 所以我猜是同样的原因 , 应该能解决这个问题 。”
这浪费了很多时间 , 而且会让你在黑暗中瞎撞 , 鬼混 。
你的 InnoDB 缓冲池可能达到 100% 利用率 , 但这可能只是由某人已经运行了一段时间的大量一次性报告引起的 。如果没有排除这种情况 , 你在浪费时间 。
开始前在这里 , 我应该解释一下 , 尽管这些建议同样适用于许多角色 , 但是我是从一般支持系统管理员的角度来写的 。在成熟的内部组织中 , 或者具有更大的规模、标准化或管理“企业级”与客户合作时 , 你通常会测试所有东西、测量、绘制、整理(甚至不说话) , 并发出警报 。那么你的方法也往往会有所不同 。这里就忽略这种情况吧 。
如果你没有这样的东西 , 那是可选的 。
解决问题首先 , 确定问题是什么 。“慢”它可以采取多种形式 。是时候接收第一个字节了吗?从坏 Javascript 和加载每一页来拉 15 MB 的静态内容 , 这是一个完全不同的问题 。是慢 , 还是比平时慢?这是两种截然不同的解决方案!
在你着手做某事之前 , 一定要了解实际报道和遇到的问题 。往往很难找到问题的根源 , 但即使找不到 , 也要找到问题本身 。
否则 , 这相当于系统管理员拿刀去枪战 。
唾手可得——轻而易举地得到某物第一次登录可疑服务器时 , 可以找到一些共同的疑点 。事实上 , 你应该这样做!每当我登录服务器时 , 我将发出一些命令来快速检查一些东西:我们交换页面了吗(free / vmstat) , 磁盘忙吗(top / iostat / iotop) , 有丢包吗(netstat / proc/net/dev) , 你是不是处于人脉太多的状态(netstat) , 有东西占据了它 CPU(top) , 谁在这台服务器上(w / who) , syslog 和 dmesg 有什么引人注目的新闻吗?
如果你从 RAID 控制器获得 2000 抱怨直写缓存无效的消息 , 那就没有继续下去的意义了 。
不会花半分钟的 。如果没有引起你的注意 —— 那就继续 。
重现问题如果某个地方有问题 , 并且找不到唾手可得——轻而易举地得到某物的信息 。
然后采取一切措施 , 尝试繁殖问题 。当您可以重现问题时 , 可以观察一下 。当你能观察到时 , 你可以解决它 。如果问题在第一步中没有被发现或覆盖 , 询问报告问题的人需要采取哪些确切步骤来重现问题 。
对于太阳耀斑还是只能磨合 OS/2 由客户端引起的问题 , 繁殖并不总是可行的 。但是你的第一站至少应该试一试!开始的时候 , 你知道的是“有人认为他们的网站很慢” 。对那些人来说 , 他们可能还在用他们的 GPRS 手机 , 它也可能正在安装 Windows 更新 。不管你在这里挖多深 , 都是浪费时间 。