下载鸥 > 网站下载 > 开发教程 > PHP

php性能困惑:内存和网络都很正常,但是CPU利用率为什么达到了100%

235 2021-05-24 20:00:02

收藏
在服务器监控平台,我们不难发现cpu比较容易跑到100%,而内存和网络都是很正常的,基本不会超过50%。这是为什么呢?

php性能困惑:内存和网络都很正常,但是CPU利用率为什么达到了100
在分析原因之前,我们一定要加上有效两字作为定语,CPU利用率跑满,很多时候其实是做了很多低效的计算。

我们以php为例:典型PHP-FPM的CGI模式,每一个HTTP请求都是按照如下方式运行:

1、都会读取框架的数百个php文件,

2、都会重新建立/释放一遍MYSQL/REIDS/MQ连接,

3、都会重新动态解释编译执行PHP文件,

4、都会在不同的php-fpm进程直接不停的切换切换再切换。

php的这种CGI运行模式,根本上就决定了它在高并发上的灾难性表现。

找到问题,往往比解决问题更难。当我们理解了当我们在谈论高并发究竟在谈什么之后,我们会发现高并发和高性能并不是编程语言限制了你,限制你的只是你的思想。

找到问题,解决问题!当我们能有效压榨CPU性能之后,能达到什么样的效果?我们在后面的文章中见分晓。

本文地址:https://xzo.com.cn/develop/php/982.html

有帮助,很赞!

信息来源:下载鸥
信息标签
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 813
当缓存文件大于4KB,不能用cookie时的替代方案就是session
当缓存文件大于4KB,不能用cookie时的替代方案就是session

鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是...

1 323
PHP怎样实现从数组随机取值的效果?
PHP怎样实现从数组随机取值的效果?

在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...

1 229
PHP函数switch()介绍
PHP函数switch()介绍

通俗的说,现在有结果A B C D E,每个结果代表不同的意义,此时我们可以用if else...

0 292
php基础应用:获取今天是星期几并给变量赋值
php基础应用:获取今天是星期几并给变量赋值

在网站的开发过程中,我们经常需要获取今天是星期几,并根据星期的不同而进行不...

0 278
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

1 247
简单的php高并发处理方案分享
简单的php高并发处理方案分享

很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...

0 275
PHP基础函数介绍:PHP_EOL
PHP基础函数介绍:PHP_EOL

PHP_EOL是一个相当好用的函数,可自动适配多种换行格式,在实际的应用中体验非...

0 367
随机PHP开发教程
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

1 247
PHP基础函数介绍: is_numeric() 函数有什么用?
PHP基础函数介绍: is_numeric() 函数有什么用?

is_numeric()是一个php函数,主要用于检测变量是否为数字或数字字符串,如果是,...

0 240
PHP内存溢出:Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes) in
PHP内存溢出:Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes) in

今天有客户联系鸥哥,说php导出excel报错Fatal error:Allowed memory size of...

0 264
php常用基础函数isset()介绍
php常用基础函数isset()介绍

isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释...

0 267
php基础应用:获取今天是星期几并给变量赋值
php基础应用:获取今天是星期几并给变量赋值

在网站的开发过程中,我们经常需要获取今天是星期几,并根据星期的不同而进行不...

0 278
php怎样用正则将表情符号替换为emoji图片?
php怎样用正则将表情符号替换为emoji图片?

在网站的留言模块、评论模块,我们都需要引入emoji表情/表情包来让界面更加美...

0 342
php怎样过滤emoji表情包?
php怎样过滤emoji表情包?

很多人喜欢用emoji表情包,但对开发者而言,怎样处理emoji表情包这却是个麻烦事...

0 312
php分割中文字符源码分享与可行性分析
php分割中文字符源码分享与可行性分析

php分割中文字符,之前计划的是可用于搜索结果、tag结果关键词标红。但在实际...

0 284
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入