我们经常说的并发 就是多人同时访问一个网站
那假设是lnmp环境。到底是nginx处理不过来请求?还是php还是mysql还是linux? 还是说其实就是内存消耗了? 还有这个并发要怎么去模拟?并行的东西
请大神通俗点记解答
我们经常说的并发 就是多人同时访问一个网站
那假设是lnmp环境。到底是nginx处理不过来请求?还是php还是mysql还是linux? 还是说其实就是内存消耗了? 还有这个并发要怎么去模拟?并行的东西
请大神通俗点记解答
主要还是php不是常驻内存,每一个请求都需要加载一堆的代码,配置,不支持原生连接池等等(不过目前已经有很多解决方案,例如开opcache,使用swoole让代码常驻内存,连接池等等)
一般情况下分为IO消耗和CPU消耗吧。
IO就是指读取数据库、本地文件或者发起接口请求这些,一般的网站会卡在数据库这一块。
CPU一般指的是计算,比如程序需要大量计算某些东西。
这些东西被卡主的话,会导致请求一直无法释放,而一般来说,一个服务器能同时处理的请求是有上限的,这样就会出现大量请求同时访问时,无法得到处理的问题。
一般来说,除非你代码真的乱七八糟,出现性能问题的,主要是数据库,代码层面一般问题不大,就算有性能问题,最直接的就是集群部署,就可以解决问题了。只是当你项目很大以后,PHP对资源的利用可能不到位而已,然后单机提供的能力不行而已,假如各种优化方案都用过以后,那就只能考虑重构项目,或者用其他语言去解决了。
15 回答8.4k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
高并发的处理涉及到很多内容,数据库的优化,php-fpm的设置,队列的使用,缓存机制,合理的服务器配置,想知道服务器的处理能力就做一下压测,压测一般使用ab或者jmeter做