理解TP里的命名空间,行为

本来是在研究docker下nginx配置php,后来就思考这玩意到底是咋运转的,捣鼓nginx运行原理,于是打开了知识盲区的海洋。 不做搬运工了,以下链接让我认识了cgi与fastcgi: CGI详解(原理,配置及访问)
怎么通俗易懂的去理解CGI
其中第一篇博客也是博主转发了,不知道几手了,如果上边两篇还是不能理解,来点通俗的: 如何通俗地解释 CGI、FastCGI、php-fpm 之间的关系?
然后牵扯到apache的mod_php了,nginx与apache的差异,apache无论遇到什么请求,就像厨师一样,一见到有顾客来就电火,哪怕是顾客点的是凉菜,加载了php解释器,浪费类内存,解释器又是什么呢,参考:
超赞!编译器和解释器的异同,瞬间明白了

nginx里有master和work进程概念参考: SAPI,CGI,Fastcgi,php-fpm的一些知识(个人见解)

最后你想知道php的执行过程,参考 深入理解PHP代码的执行的过程
概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

其他参考:

从 FPM 接收到请求,到处理完毕,其具体的流程如下:

FPM 的 master 进程接收到请求 master 进程根据配置指派特定的 worker 进程进行请求处理,如果没有可用进程,返回错误,这也是我们配合 Nginx 遇到502错误比较多的原因。 worker 进程处理请求,如果超时,返回504错误 请求处理结束,返回结果 FPM 从接收到处理请求的流程就是这样了,那么 Nginx 又是如何发送请求给 fpm 的呢?这就需要从 Nginx 层面来说明了。

我们知道,Nginx 不仅仅是一个 Web 服务器,也是一个功能强大的 Proxy 服务器,除了进行 http 请求的代理,也可以进行许多其他协议请求的代理,
包括本文与 fpm 相关的 fastcgi 协议。为了能够使 Nginx 理解 fastcgi 协议,Nginx 提供了 fastcgi 模块来将 http 请求映射为对应的 fastcgi 请求。 深入理解PHP之:Nginx 与 FPM 的工作机制

理解Nginx里的cgi,fastcgi,php-fpm 之间的关系

本来是在研究docker下nginx配置php,后来就思考这玩意到底是咋运转的,捣鼓nginx运行原理,于是打开了知识盲区的海洋。 不做搬运工了,以下链接让我认识了cgi与fastcgi: CGI详解(原理,配置及访问)
怎么通俗易懂的去理解CGI
其中第一篇博客也是博主转发了,不知道几手了,如果上边两篇还是不能理解,来点通俗的: 如何通俗地解释 CGI、FastCGI、php-fpm 之间的关系?
然后牵扯到apache的mod_php了,nginx与apache的差异,apache无论遇到什么请求,就像厨师一样,一见到有顾客来就电火,哪怕是顾客点的是凉菜,加载了php解释器,浪费类内存,解释器又是什么呢,参考:
超赞!编译器和解释器的异同,瞬间明白了

nginx里有master和work进程概念参考: SAPI,CGI,Fastcgi,php-fpm的一些知识(个人见解)

最后你想知道php的执行过程,参考 深入理解PHP代码的执行的过程
概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

其他参考:

从 FPM 接收到请求,到处理完毕,其具体的流程如下:

FPM 的 master 进程接收到请求 master 进程根据配置指派特定的 worker 进程进行请求处理,如果没有可用进程,返回错误,这也是我们配合 Nginx 遇到502错误比较多的原因。 worker 进程处理请求,如果超时,返回504错误 请求处理结束,返回结果 FPM 从接收到处理请求的流程就是这样了,那么 Nginx 又是如何发送请求给 fpm 的呢?这就需要从 Nginx 层面来说明了。

我们知道,Nginx 不仅仅是一个 Web 服务器,也是一个功能强大的 Proxy 服务器,除了进行 http 请求的代理,也可以进行许多其他协议请求的代理,
包括本文与 fpm 相关的 fastcgi 协议。为了能够使 Nginx 理解 fastcgi 协议,Nginx 提供了 fastcgi 模块来将 http 请求映射为对应的 fastcgi 请求。 深入理解PHP之:Nginx 与 FPM 的工作机制

是的,看了很多,看山不是山了,最后又是山了:https://segmentfault.com/q/1010000000256516

苹果计划在 Mac 上使用自产芯片取代英特尔处理器

引言

前几天,出了一个重大新闻,媒体称苹果计划摆脱英特尔 使用自产 Mac 芯片 英特尔股价大跌, 苹果确实很牛,几乎所有东西(硬件、软件)都想要自产, 去年我写了篇博文 MacBook Pro 2017 不支持 32GB 内存的原因, 里面就说到了 Intel Core 系列 CPU 不支持 LPDDR4 内存,所以苹果 MacBook Pro 最高只能支持 16GB 内存, 这里还要提下,前几天 Intel 发布了全新的第八代酷睿移动处理器 Core i9,来自 AppleInsider 的消息显示, 苹果将会在新款 15 英寸的 MacBook Pro 产品上使用上 Intel 最新的 Core i9 处理器,但其仍然不支持 LPDDR4 内存, 我想苹果肯定是想上 LPDDR4 内存的, 但无奈 Intel 拖了后腿,苹果感到了受制于 Intel(当然还有更多原因,这里只指出内存方面),所以才会想要自产 Mac 处理器。

虽然苹果计划今后放弃使用 Intel 处理器,但是“好汉不吃眼前亏”,眼下 Intel 的芯片性能还是比苹果强不少, 直接实行这个计划还是不太现实,而按照他们的计划来说,要在 2020 年的时候才有新的进展。

对我的购机影响

我的换机标准一直没变,作为 Pro 用户,我现在的第一需求是要支持 32GB 内存,看来还是要至少等到明年 2019 年再看? 我计划在近 1-2 年内换机。

Ref

Apple Plans to Ditch Intel and Use Custom Mac Chips Starting in 2020
如何评价苹果计划在 Mac 上使用自产芯片取代英特尔处理器?
Intel’s New Core i9 and Coffee Lake Chips Pave Way for Quad-Core 13” MacBook Pro, Mac Mini Refresh, and More
苹果新 MacBook Pro 曝光:搭载 Intel 最新 6 核 i9 处理器
Intel® Core™ i9-8950HK Processor
苹果弃用英特尔:想说分手不容易

Fiddler 相关资料学习

1 图文教程

Fiddler 教程 by TankXiao
FIDDLER 教程
【HTTP】Fiddler(一) - Fiddler 简介
【HTTP】Fiddler(二) - 使用 Fiddler 做抓包分析
【HTTP】Fiddler(三)- Fiddler 命令行和 HTTP 断点调试

2 视频教程

Fiddler 工具使用 imooc.com

Linux 系统性能监测分析相关资料学习

引言

作为一个 Linux 运维工程师,必须得清楚地了解 Linux 系统当前的运行状况和性能。如何了解呢?
Linux 系统本身就提供了各种查看系统性能的命令,当然还有很多其他开源的监控工具和软件。
如何系统化学习这些相关的系统命令和工具?有没有一个好的学习路线? 最近几天看了一些关于 Linux 系统性能监测学习的资料,个人觉得值得学习的资料整理如下。

学习资料

1.1 Brendan Gregg 大神的 Linux Perfermance 相关资料与演讲

可以去其个人网站学习,非常全面和深入
http://www.brendangregg.com/linuxperf.html

谁是 Brendan Gregg?类 UNIX 系统的性能分析大神,相信很多人都看过下面这张 Linux Performance Observability Tools 的图,就是出自于他 linux_observability_tools

下面将上图的相关命令及工具进行如下分类(不定期总结):

OS Scheduler 与 CPU 相关命令及工具

  • top - display Linux tasks.
  • ps - report a snapshot of the current processes.
  • mpstat - Report processors related statistics.

1.2 《高性能 Linux 服务器构建实战》第 10 章 基于 Linux 服务器的性能分析与优化

10.1 系统性能分析的目的 / 248
10.1.1 找到系统性能的瓶颈 / 248
10.1.2 提供性能优化方案 / 248
10.1.3 使系统硬件和软件资源的使用达到平衡 / 249
10.2 分析系统性能涉及的人员 / 249
10.2.1 Linux 系统管理人员 / 249
10.2.2 系统架构设计人员 / 249
10.2.3 软件开发人员 / 250
10.3 影响 Linux 性能的各种因素 / 250
10.3.1 系统硬件资源 / 250
10.3.2 操作系统相关资源 / 252
10.3.3 应用程序软件资源 / 253
10.4 系统性能分析标准和优化原则 / 253
10.5 几种典型应用对系统资源使用的特点 / 254
10.5.1 以静态内容为主的 Web 应用 / 254
10.5.2 以动态内容为主的 Web 应用 / 254
10.5.3 数据库应用 / 255
10.5.4 软件下载应用 / 255
10.5.5 流媒体服务应用 / 256
10.6 Linux 下常见的性能分析工具 / 256
10.6.1 vmstat 命令 / 256
10.6.2 sar 命令 / 258
10.6.3 iostat 命令 / 260
10.6.4 free 命令 / 262
10.6.5 uptime 命令 / 263
10.6.6 netstat 命令 / 263
10.6.7 top 命令 / 265
10.7 基于 Web 应用的性能分析及优化案例 / 268
10.7.1 基于动态内容为主的网站优化案例 / 268
10.7.2 基于动态、静态内容结合的网站优化案例 / 270

1.3 《网站运维技术与实践》第1章 服务器监测

1.1 理解监测的意义 1
1.2 通过命令了解系统的性能概况 2
1.2.1 ifconfig 2
1.2.2 w 3
1.2.3 df 4
1.2.4 ps 6
1.2.5 vmstat 8
1.2.6 netstat 8
1.2.7 iostat 9
1.3 其他常用工具 13
1.3.1 sar 13
1.3.2 dstat 14
1.3.3 mtr 17
1.3.4 IPtraf 18
1.3.5 TcpDump 19
1.3.6 Wireshark 22
1.3.7 strace 23
1.3.8 stap 24
1.4 SmokePing 网络质量监测 34
1.4.1 原理 35
1.4.2 配置说明 37
1.4.3 报警 39
1.4.4 WebUI 40
1.5 Nagios 分布式监测 41
1.5.1 架构原理 42
1.5.2 Plugin 编写 45
1.5.3 SNMP 网络监控 46
1.5.4 Gearman 分布式 50
1.5.5 OMD 介绍 55

学习情况

不定期更新