Tomcat是如何处理Http请求的?
|
本报告是Recorded Future网络安全公司发布的报告,报告根据的是第三季度所涉及到的主流网络安全新闻、安全供应商报告、关于恶意软件、安全漏洞以及2020年7月1日至9月30日的暗网和地下论坛,综合这些信息就是为了更准确地研究影响桌面系统和移动设备的恶意软件的主要趋势。 QPS:全名 Queries Per Second,意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定 Queries Per Second 时间内所处理流量多少的衡量标准。简单的说,QPS = req / sec = 请求数/秒。它代表的是服务器的机器的性能最大吞吐能力。
正常来讲服务的 QPS 可能随着时间的变化进行有规律的增长或减小,但是如果在某段时间内 QPS 发生了成倍的数量级的增长,那么有可能你的服务正在遭受 DDoS 攻击,或者正在被非法调用。 一般在线上运行的 Node 服务都是使用 PM2 启动的。PM2 是 node 进程管理工具,可以利用它来简化很多 node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。 我们可以通过 pm2 log 命令来查看当前程序运行的实时日志,注意这个日志是包括开发者自己打出来的一些 console 的。 另外 pm2 也支持查看所有历史产生的日志,我们可以通过一些 Error 之类的关键字去检索错误日志。 3. 延时 延时情况也是衡量一个服务稳定性的重要指标,一些非常慢的接口除了会影响用户体验,还有可能会影响数据库的稳定性,一般我们在接口的延时和数据库的延时两个方面关注服务延时,这个比较好理解,这里我就不再多说了。
4. QPS 进行了这样的操作后,所有在你的业务逻辑中产生的异常都会被捕获并上报,所以对于你想了解到的异常你不应该手动进行 try catch,而是将它们抛出到框架进行捕获上报。 2. pm2 日志
对于程序中我们自己打印出的一些 console ,一般生产环境是默认不会被记录的。例如某些程序异常我们可能自己通过 try catch 进行了捕获,并使用 console 输出了 ERROR INFO ,这样的异常并不会被当作错误日志进行捕获。 这个应该不用多说,对于服务产生的所有 5xx 的状态码都属于服务器在尝试处理请求时发生内部错误,这些错误可能是服务器本身的错误,而不是请求出错,都是需要我们关注的:
错误日志服务运行过程中产生的错误日志数量也是衡量一个服务是否稳定的重要指标,对于错误日志上报,不同公司的业务可能有不同的实现,但是应该大同小异,一般日志都分为 INFO、WARN、ERROR 几个级别,我们需要关注的是 ERROR 及以上级别的日志。
一般在我们的业务逻辑中,都需要对服务运行的过程中产生的异常进行捕获以及日志上报,但是我们不可能在所有程序运行的节点进行异常捕获,另外 try catch 也不是万能的,它并不能捕获异步异常,所以我们一般在我们使用的 Node.js 框架中的关键节点也会集成日志的上报,以 KOA 为例,我们需要监听 app 的 error 事件: (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
