当前位置: 首页 > news >正文

软件优化网站wordpress手机轻主题

软件优化网站,wordpress手机轻主题,国内交互网站,wordpress 后台精简环境准备 预先安装 docker、perf、hping3、curl 等工具#xff0c;如 apt install docker.io linux-tools-common hping3 操作和分析 Linux 在启动过程中#xff0c;有三个特殊的进程#xff0c;也就是 PID 号最小的三个进程。 0 号进程为 idle 进程#xff0c;这也是系…环境准备 预先安装 docker、perf、hping3、curl 等工具如 apt install docker.io linux-tools-common hping3 操作和分析 Linux 在启动过程中有三个特殊的进程也就是 PID 号最小的三个进程。 0 号进程为 idle 进程这也是系统创建的第一个进程它在初始化 1 号和 2 号进程后演变为空闲任务。当 CPU 上没有其他任务执行时就会运行它。 1 号进程为 init 进程通常是 systemd 进程在用户态运行用来管理其他用户态进程。 2 号进程为 kthreadd 进程在内核态运行用来管理内核线程。 要查找内核线程我们只需要从 2 号进程开始查找它的子孙进程即可。比如你可以使用 ps 命令来查找 kthreadd 的子进程 ps -f --ppid 2 -p 2 UID PID PPID C STIME TTY TIME CMD root 2 0 0 1月04 ? 00:00:00 [kthreadd] root 4 2 0 1月04 ? 00:00:00 [kworker/0:0H] root 6 2 0 1月04 ? 00:00:40 [ksoftirqd/0] root 7 2 0 1月04 ? 00:00:20 [migration/0] root 8 2 0 1月04 ? 00:00:00 [rcu_bh] root 9 2 0 1月04 ? 00:02:36 [rcu_sched] root 10 2 0 1月04 ? 00:00:00 [lru-add-drain] root 11 2 0 1月04 ? 00:00:00 [watchdog/0] root 12 2 0 1月04 ? 00:00:00 [watchdog/1] 很多常见的内核线程我们在性能分析中都经常会碰到比如下面这几个内核线程。 kswapd0用于内存回收。在 Swap 变高 案例中我曾介绍过它的工作原理。 kworker用于执行内核工作队列分为绑定 CPU 名称格式为 kworker/CPU:ID和未绑定 CPU名称格式为 kworker/uPOOL:ID两类。 migration在负载均衡过程中把进程迁移到 CPU 上。每个 CPU 都有一个 migration 内核线程。 jbd2/sda1-8jbd 是 Journaling Block Device 的缩写用来为文件系统提供日志功能以保证数据的完整性名称中的 sda1-8表示磁盘分区名称和设备号。每个使用了 ext4 文件系统的磁盘分区都会有一个 jbd2 内核线程。 pdflush用于将内存中的脏页被修改过但还未写入磁盘的文件页写入磁盘已经在 3.10 中合并入了 kworker 中。 案例用到两台虚拟机 在第一个终端执行下面的命令运行案例也就是一个最基本的 Nginx 应用 # 运行Nginx服务并对外开放80端口 docker run -itd --namenginx -p 80:80 nginx在第二个终端使用 curl 访问 Nginx 监听的端口确认 Nginx 正常启动。假设 192.168.0.30 是 Nginx 所在虚拟机的 IP 地址运行 curl 命令后你应该会看到下面这个输出界面 curl http://xxx.xxx.xxx.xxx/还是在第二个终端中运行 hping3 命令模拟 Nginx 的客户端请求 hping3 -S -p 80 -i u1 xxx.xxx.xxx.xxx执行top命令 CPU 的软中断使用率都超过了 30%而 CPU 使用率最高的进程正好是软中断内核线程 ksoftirqd/0 和 ksoftirqd/1。 已经知道了 ksoftirqd 的基本功能可以猜测是因为大量网络收发引起了 CPU 使用率升高但它到底在执行什么逻辑我们却并不知道。 那还有没有其他方法来观察内核线程 ksoftirqd 的行为呢 perf 可以对指定的进程或者事件进行采样并且还可以用调用栈的形式输出整个调用链上的汇总信息。 我们不妨就用 perf 来试着分析一下进程号为 6 的 ksoftirqd。 $ perf record -a -g -p 9 -- sleep 30执行 perf report命令你就可以得到 perf 的汇总报告。按上下方向键以及回车键展开比例最高的 ksoftirqd net_rx_action 和 netif_receive_skb表明这是接收网络包rx 表示 receive。 br_handle_frame 表明网络包经过了网桥br 表示 bridge。br_nf_pre_routing 表明在网桥上执行了 netfilter 的 PREROUTINGnf 表示 netfilter。而我们已经知道 PREROUTING 主要用来执行 DNAT所以可以猜测这里有 DNAT 发生。br_pass_frame_up表明网桥处理后再交给桥接的其他桥接网卡进一步处理。比如在新的网卡上接收网络包、执行 netfilter 过滤规则等等。 用火焰图来查看层级太多的调用栈 假设刚才用 perf record 生成的文件路径为 /root/perf.data执行下面的命令你就可以直接生成火焰图 perf script -i /root/perf.data | ./stackcollapse-perf.pl --all | ./flamegraph.pl ksoftirqd.svg我们就找出了内核线程 ksoftirqd 执行最频繁的函数调用堆栈而这个堆栈中的各层级函数就是潜在的性能瓶颈来源。这样后面想要进一步分析、优化时也就有了根据。
http://www.zqtcl.cn/news/548748/

相关文章:

  • 佛山高端网站制作公司wordpress 发送邮件插件
  • 类似站酷的设计类网站网站建设需要待摊吗
  • 用php做视频网站在学做网站还不知道买什么好
  • wordpress培训类网站网站建设 好
  • 网站开发需要2个月吗网站建设案例精粹
  • 网站建设项目职责营销型网站建设五大内容
  • 建设工程监理招标网站W做网站
  • 网站建设与维护教学课件网站上线前做环境部署
  • 信誉好的网站建设做网站成为首富的外国人
  • 常州网站制作市场湖北省荆门市城乡建设网站
  • 泉州网站制作运营商专业北京软件公司招聘信息查询
  • 车床加工东莞网站建设网站建设教学改进
  • 深圳专业做网站建设西安网站建设有限公司
  • wordpress 一键建站wordpress子主题style
  • 昆明设计网站怎么做网络广告
  • 2018什么做网站深圳企业网站设
  • 北京旅游外贸网站建设博客集成wordpress
  • 中国最好的建设网站哪些网站教你做系统
  • 自己做网站别人怎么看见网站建设办公
  • 凡科做网站视频网站哪家好
  • 查询网站是否正规营销策略国内外文献综述
  • 做网页用的网站wordpress用户角色权限管理
  • 怎么查网站备案的公司wordpress 无刷新评论
  • 学前心理学课程建设网站百度极速版下载
  • 佛山做营销型网站建设深圳宝安区租房
  • 做汽车团购的网站建设营销方案有哪些
  • 做设计的网站网络公关什么意思
  • 一般课程网站要怎么做做钓鱼网站软件下载
  • 济南网站建设92jzh收不到wordpress的邮件
  • 一键优化在哪里打开新手怎么入行seo