首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在服务器上排除问题的头五分钟(干货)

我们基本上都会从以下步骤入手: 一、尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体情况。不然你很可能就是在无的放矢。...(比如 Loggly、Airbrake、 Graylog…) 最后两个是最方便的信息来源,不过别抱太大希望,基本上它们都不会有。只能再继续摸索了。 二、有谁在?...netstat -nalp 倒也可以。不过我绝不会用 numeric 选项 (鄙人一点浅薄的看法:IP 地址看起来更方便)。 找到所有正在运行的服务,检查它们是否应该运行。查看各个监听端口。...如果服务器上有好几个 JAVA 或者 Erlang 什么的进程在同时运行,能够按 PID 分别找到每个进程就很重要了。 通常我们建议每台服务器上运行的服务少一点,必要时可以增加服务器。...HA-Proxy; 后端的状况如何?健康状况检查是否成功?是前端还是后端的队列大小达到最大值了? 结论 经过这 5 分钟之后,你应该对如下情况比较清楚了: 在服务器上运行的都是些啥?

1.1K30

在服务器上排除问题的头 5 分钟

我们基本上都会从以下步骤入手: 一、尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体情况。不然你很可能就是在无的放矢。...netstat -nalp倒也可以。不过我绝不会用 numeric 选项 (鄙人一点浅薄的看法:IP 地址看起来更方便)。 找到所有正在运行的服务,检查它们是否应该运行。查看各个监听端口。...在netstat显示的服务列表中的PID 和 ps aux 进程列表中的是一样的。 如果服务器上有好几个Java或者Erlang什么的进程在同时运行,能够按PID分别找到每个进程就很重要了。...通常我们建议每台服务器上运行的服务少一点,必要时可以增加服务器。如果你看到一台服务器上有三四十个监听端口开着,那还是做个记录,回头有空的时候清理一下,重新组织一下服务器。...HA-Proxy; 后端的状况如何?健康状况检查是否成功?是前端还是后端的队列大小达到最大值了? 结论 经过这5分钟之后,你应该对如下情况比较清楚了: 在服务器上运行的都是些啥?

76420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在服务器上排除问题的头 5 分钟

    我们基本上都会从以下步骤入手: 一、尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体情况。不然你很可能就是在无的放矢。...netstat -nalp倒也可以。不过我绝不会用 numeric 选项 (鄙人一点浅薄的看法:IP 地址看起来更方便)。 找到所有正在运行的服务,检查它们是否应该运行。查看各个监听端口。...在netstat显示的服务列表中的PID 和 ps aux 进程列表中的是一样的。 如果服务器上有好几个Java或者Erlang什么的进程在同时运行,能够按PID分别找到每个进程就很重要了。...通常我们建议每台服务器上运行的服务少一点,必要时可以增加服务器。如果你看到一台服务器上有三四十个监听端口开着,那还是做个记录,回头有空的时候清理一下,重新组织一下服务器。...HA-Proxy; 后端的状况如何?健康状况检查是否成功?是前端还是后端的队列大小达到最大值了? 结论 经过这5分钟之后,你应该对如下情况比较清楚了: 在服务器上运行的都是些啥?

    27530

    Node.js运行原理、高并发性能测试对比及生态圈汇总

    而Node的出现就是为了解决这个问题:更改连接到服务器的方式。在Node 声称它不允许使用锁,它不会直接阻塞 I/O 调用。...当涉及到每台服务器的原始速度的底线的时候,正如压力测试所描述的,我的感觉是,性能背后最关键的因素不是一些特定的算法,而实际上是运行的每台服务器所用的编程语言。...与 PHP 不同,Node.js 有以下优点: 非阻塞的 I/O 事件驱动 更新颖、更少的残旧代码 由于有大量的测评文章解释和演示了 Node.js 的原始速度超过 PHP(包括 PHP 7),我不会再进一步阐述这个主题...因此,考虑到 Node.js 的性能优于 PHP,一个 Node.js 的网站的速度要比 Apache / Nginx 和 PHP 的网站快吗?...因此,我改为使用表: Node、Nginx、Apache 以及运行 WordPress 和 Ghost 的比较。

    3K30

    某个应用的 CPU 使用率居然达到 100%,我该怎么办?

    今天我就带你了解 CPU 使用率的内容,同时,我也会以我们最常用的反向代理服务器 Nginx 为例,带你在一步步操作和分析中深入理解。 1....perf 是 Linux 2.6.31 以后内置的性能分析工具。它以性能事件采样为基础,不仅可以分析系统的各种事件和内核性能,还可以用来分析指定应用程序的性能问题。...apache2-utils 我先简单介绍一下这次新使用的工具 ab。...由于 Nginx 和 PHP 的配置比较麻烦,我把它们打包成了两个 Docker 镜像,这样只需要运行两个容器,就可以得到模拟环境。...为了方便你验证优化后的效果,我把修复后的应用也打包成了一个 Docker 镜像,你可以在第一个终端中执行下面的命令来运行它: # 停止原来的应用 $ docker rm -f nginx phpfpm

    2.3K40

    【黄啊码】用node.js去代替APACHE靠谱吗?

    如果你准备用JavaScript重写你的PHP,那么是的,node.js可以代替你的Apache。...如果在服务器和客户端之间放置一个以反向代理模式运行的Apache或nginx实例,则可以在node.js上处理JavaScript中的一些请求,并在Apache托pipe的PHP中处理一些请求,直到完全...这可能是一个快乐的媒介:你的WebSockets是否在node.js中工作,在Apache + PHP中是更普通的工作。...你可能总是希望一个Apache或者nginx作为一个枯燥的Web服务器运行来处理所有的静态文件: sendfile(2)系统调用使得从一个真正的web服务器上静态的页面非常快地提供服务(它删除了'double-copy...Apache可以configuration为向Node.js请求代理,或者Node.js可以向Apache请求代理请求,但是我相信在这两种情况下都会丢失一些性能,特别是在第一种情况下。

    96620

    从奥运订票系统说起——谈FastCGI 与IT 架构

    如果你希望通过协同处理来提高程序的性能,你可以请求Web服务器运行多个FastCGI 应用程序。     由此CGI就是所谓的短生存期应用程序,FastCGI就是所谓的长生存期应用程序。    ...,都是在前一个的基础上加一,而不会又产生新的进程;从而后来者是从零开始。...上述方案应该是所有的Web应用解决方案中,执行效率和速度最高的。官方数据是说比一般的高15倍左右,在我的机器上测试,基本上每秒能够处理大概2400次请求。    ...PHP的FastCGI  PHP的FastCGI使你的所有php应用软件通过mod_fastci运行,而不是mod_phpsusexec。FastCGI应用速度很快 是因为他们持久稳定。...PHP脚本运行速度更快(3到30倍)。PHP解释程序被载入内存而不用每次需要时从存储器读取,极大的提升了依靠脚本运行的站点的性能。     2. 需要使用更少的系统资源。

    59910

    Nginx与httpd对比

    下面开始我的菜鸟学习之路 一、生存环境 各类种子的发育离不开肥沃的土壤,同样,谈到应用程序,我们不得不提到的就是操作系统环境,毕竟不同系统对他们的影响还是不小的 apache 这个老牌了,在几乎任何系统下都有对应的支持...大法好 ,嘿嘿) 二、使用地域 实话说我并不知道中国与外国在服务器使用上有何区别,由于我的梦想是在中国当运维,所以外国怎么样对我也不重要。...2015年中旬左右的服务器市场占有率,可以看到,nginx对比apache还是要低上不少的。至于微软的为啥那么多?呵呵,不是所有开网站的都会用Linux的。。。...可以看到,两者在单服务器情况下似乎是apache更多一些的。 三、规模和功能 把两个结合到一起说了,因为我发现他们两个的存在是不冲突的。...~ PHP: 被誉为世界上最好的编程语言,(个人认为这个殊荣应该由C语言获得) 实则是一个流行的网页编程语言,由于它简单,类C,性能可以接受,难度低,普通程序员可以轻松适应,所以十分受中小型网站欢迎(论坛

    3.8K60

    php中fastcgi和php-fpm是什么东西

    php狗用的最多的就是Apache了,还有其他的: apache nginx IIS lighttpd tomcat 基本上就是上面几种,与php相关联起来用的最多的就是Apache和Nginx了。...CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。...它事先就早早的启动好了,而且可以启动多个cgi模块,在那里一直运行着等着,等着web发过来的请求,然后再给php解析运算完成生成html给web后,也不会退出,而且继续等着下一个web请求。...而且这些cgi的模块启动是可控的,可监测的。这种技术还允许把web server和php运行在不同的主机上,以大规模扩展和改进安全性而不损失生产效率。 所以现在一般操作系统都是fastcgi模式。...直接杀死php-cgi进程,php就不能运行了。 上面2个问题,一直让很多人病垢了很久,所以很多人一直还是在用mode_php方式。 直到 2004年(确定是这么早吗?)

    1.4K20

    服务端解决故障的处理思路

    (注意:公司里面往往运行着成千上万的服务,对应日志文件繁多,找问题的时候,要避免找错日志文件,我曾因为找错日志文件,花了非常多的时间) 有谁在?...1、 history 查看一下之前服务器上执行过的命令。看一下总是没错的,加上前面看的谁登录过的信息,应该有点用。 现在在运行的进程是啥?...CPU 和内存 1、 free -m uptime top/htop 注意以下问题: 还有空余的内存吗? 服务器是否正在内存和硬盘之间进行swap? 还有剩余的CPU吗? 服务器是几核的?...你的中断请求是否是均衡地分配给CPU处理,还是会有某个CPU的核因为大量的网络中断请求或者RAID请求而过载了? 在不同状态下(TIME_WAIT, …)TCP连接时间的设置是怎样的?...是前端还是后端的队列大小达到最大值了? 结论 经过一系列的处理之后,应该对如下情况比较清楚了: 在服务器上运行的都是些啥?

    40820

    PHP手册阅读笔记

    读完整个手册后,让我们能够了解到PHP这门语言的脉络 。 下面是我在阅读过程中作出的一些笔记摘抄,看到这些内容,实际上解决了我平时对于PHP的一些疑问,在这里记录下来以备后用。...以这种方法运行,PHP 会为向 web 服务器提出的每个 PHP 页面请求生成并结束一个 PHP 解释器线程。...在这种情况下,使用永久连接不会获得任何地改变――因为它们根本不是永久的。 第二,也是最常用的方法,是把 PHP 用作多进程 web 服务器的一个模块,这种方法目前只适用于 Apache。...最接近的比喻是 Unix 的文件名和文件本身――变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的 hardlink。 如果具有引用的数组被拷贝,其值不会解除引用。...可以决定脚本是否需要在客户端中断连接时退出。有时候让脚本完整地运行会带来很多方便,即使没有远程浏览器接受脚本的输出。默认的情况是当远程客户端连接中断时脚本将会退出。

    1.2K40

    服务端 IO 性能大比拼:Node、PHP、Java 和 Go

    虽然不会直接处理这些概念的大部分,但通过应用程序的运行时环境你一直在间接地处理他们。而关键在于细节。...虽然有一些变化,但基本上PHP服务器看起来像: HTTP请求来自用户的浏览器,并且访问了你的Apache网站服务器。...Apache为每个请求创建一个单独的进程,通过一些优化来重用它们,以便最大程度地减少其需要执行的次数(创建进程相对来说较慢)。Apache调用PHP并告诉它在磁盘上运行相应的.php文件。...注意:Ruby使用的方法与PHP非常相似,在广泛而普遍的方式下,我们可以将其视为是相同的。...更不用说你的代码必须以与这些环境相适应的方式进行结构化; “正常”的PHP或Java Web应用程序通常不会在这样的环境中进行重大改动。

    1.6K40

    IIS服务启动发生意外错误0x8ffe2740的解决方法

    如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用80端口,在您试图使用IIS管理器启动网站时您也可能收到该错误讯息....解决办法 直接修改网站的端口,不再绑定80,而切换其他端口,如果这样就不会有问题了,但是如果访问网站的时候就得加上端口号,很麻烦 使用工具查看谁在占用TCP80端口:一般占用该端口的是网站服务器,比如我装了两个...Web服务器,IIS 5.1和Apache+php+Mysql,如果你先启用了默认配置的Apache(你的IIS网站没有启动)那么,你的TCP80端口就会被占用,导致IIS启动时发生0x8ffe2740...停止了PHP服务器你的IIS又可以启动了。...当然,不光光是网站会占用这个端口的,今天早上我就发现了一个奇怪的事情,我没有启动我的PHP服务器,但是还是发生了这个错误,很奇怪啊,我使用了360安全卫士的常用–>高级工具–>网络连接查看器,看到skype

    59610

    如通何俗懂易释解Docker是什么?

    1.不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。...比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。...只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。 啥?你还没懂? 那咱继续。。 同学,你知道服务器吗?那,虚拟机呢? 你知道网站是运行在服务器上的吧? 网站怎么运行的呢?...Docker 镜像并不会因为环境的变化而不能运行,也不会在不同的电脑上有不同的运行结果。...可以给测试人员提交含有应用的 Docker 镜像,这样便不再会发生“在我机器上是可以运行的”这种事情,很大程度上减轻了开发人员测试人员互相检查机器环境设置带来的时间成本。

    1.5K30

    PHP运行时性能基准测试

    根据官方文档,它“从任何全局状态中提取引导逻辑,以确保应用程序可以在运行时运行,如”。这意味着,您可以使用任何您喜欢的运行时来开发应用程序,但在生产中运行最高性能。...因此,我们不仅可以使用传统的服务器运行应用程序,还可以使用Swoole,AMPHP和ReactPHP等库。展望未来,最后两人被排除在竞争之外。 负载测试工具 K6用于运行负载测试。...运行时 Apache(prefork模式)+ mod_php Apache(事件模式)+ PHP-FPM Nginx + PHP-FPM Nginx Unit应用服务器 Nginx Unit应用服务器...自动加载器已优化 Symfony在生产模式下运行 服务容器转储到单个文件 Symfony缓存在容器构建期间预热 应用程序代码以及容器配置可以在GitHub https://github.com/DimDev...个人观点 FrankenPHP -惊人的工作,第一个候选人成为PHP世界的标准事实上。 Swoole -我希望它是开箱即用(但禁用)的PHP扩展。 Nginx Unit -我个人的选择。

    14010

    PHP 不会死 —— 我们如何使用 Golang 来阻止 PHP 走向衰亡

    在大多数情况下,PHP 开发者会使用 nginx Web-server 和 php-fpm 服务器 组合运行应用程序。...你不必担心内存使用情况,所有进程都完全隔离,如果其中任何进程死亡,那么它们将自动创建而不会影响其他进程。但与此同时,当你尝试扩展应用程序时,这一特性会成为程序开发的绊脚石。...首先,我们需要实现一个服务器程序,该程序可以接受 HTTP 请求,然后逐个将它们转发给 PHP 工作者,而不是每次都杀死工作者。...Golang 可以帮助我们创建这样的应用服务器吗?我的答案是,它可以。...一种方法是使用 Alex Palaistras 在英国发布的 令人生畏的库 ,可以在 PHP 和 Golang 进程(类似于 Apache mod_php )之间共享内存。

    1.2K10

    『GCTT 出品』PHP 不会死 —— 我们如何使用 Golang 来阻止 PHP 走向衰亡

    在大多数情况下,PHP 开发者会使用 nginx Web-server 和 php-fpm服务器组合运行应用程序。...你不必担心内存使用情况,所有进程都完全隔离,如果其中任何进程死亡,那么它们将自动创建而不会影响其他进程。但与此同时,当你尝试扩展应用程序时,这一特性会成为程序开发的绊脚石。...Golang可以帮助我们创建这样的应用服务器吗?我的答案是,它可以。...一种方法是使用Alex Palaistras 在英国发布的令人生畏的库,可以在 PHP 和 Golang 进程(类似于 Apache mod_php)之间共享内存。...由于 PSR-7 格式是不可变的(一些工程师可能会指出它在技术上不可变),它迫使开发人员编写不再将请求视为全局实体的应用程序。这完全符合长期运行 PHP 进程的想法。

    64830

    PHP之内置web服务器

    那么现在有个问题,就是难道每次必须要进入public文件夹才能启动web服务器吗,其实我们可以指定根目录的,那么可以使用如下命令: cd /home/baoguoxiao/www/php/demo php...Laravel 在Laravel中的安装一节中介绍了一个命令可以使用PHP内置web服务器实现外部访问的命令。...) ); // 这个文件允许我们从内置 PHP web 服务器中模拟 Apache 的 "mod_rewrite" 功能. // 这提供了一种测试 Laravel 应用程序的便捷方法, // 而无需在此安装...而子进程则返回的PID为0, // 如果失败,则子进程不会创建,并且父进程会返回的pid为-1。...总结 通过我们学习 PHP 命令实现web服务器访问以及对 Laravel 和 Symfony 框架的分析, 让我了解到在Windows的开发过程中,我们完全可以借助该方式来摆脱对web服务器的依赖.既能方便我们在

    3.1K10

    Django是否太重了

    接触Django差不多两年了,从一开始转到python就开始用Django做项目,到现在依然是在Django上开发CMS。Django算是个重量级框架吗?我在思考。...一,php不能直接运行,需要配置web服务器,一般就是apache了。二,php的文件表单和代码都纠缠在一起,连身为ios程序员的beautifularea同学都觉得不妥了。...主要调试的时间都花费在apache的配置不断调整上,因为无法确定有些问题是出在代码上还是web服务器上。...其实在他们头天晚上配置边配置apache边运行php测试的时候,我也用纯python代码实现了这样的功能,主要是改写了python内置的SimpleHTTPServer模块。...不过好赖是实现了,并且最重要的是没用apache。这对ios程序员来说难道不是福利吗,只需要放到服务器上,然后python xxx.py 8080,不用去配apache。

    1.1K20

    PHP之内置web服务器

    那么现在有个问题,就是难道每次必须要进入public文件夹才能启动web服务器吗,其实我们可以指定根目录的,那么可以使用如下命令: cd /home/baoguoxiao/www/php/demo php...Laravel 在Laravel中的安装一节中介绍了一个命令可以使用PHP内置web服务器实现外部访问的命令。...) ); // 这个文件允许我们从内置 PHP web 服务器中模拟 Apache 的 "mod_rewrite" 功能. // 这提供了一种测试 Laravel 应用程序的便捷方法, // 而无需在此安装...而子进程则返回的PID为0, // 如果失败,则子进程不会创建,并且父进程会返回的pid为-1。...总结 通过我们学习 PHP 命令实现web服务器访问以及对 Laravel 和 Symfony 框架的分析, 让我了解到在Windows的开发过程中,我们完全可以借助该方式来摆脱对web服务器的依赖.既能方便我们在

    3.7K30
    领券