我们正在编程,无论语言如何,我们都可以采用一些概念和技术来提高代码可读性,理解和应用程序性能
最大的学习是:不要试图重新发明轮子。正如我一直说的:研究和研究。很可能有人已经面临与您相同的问题,并找到了有效的解决方案。利用社区积累的知识不仅节省了时间,还可以帮助避免陷阱和常见错误
查询和数据库> 在这个主题上,在应用程序中非常重要的是,我已经写了一点,值得一读。 优化数据持久性并在MySQL和应用程序上阅读
性能优化技术
除数据库和数据库外,还有其他用于优化应用程序的基本领域。让我们突出显示一些:
缓存的使用对于减少数据库中的负载至关重要,这是临时存储经常访问的数据。社区为此目的广泛使用Redis
REDIS是内存中的高度性能但挥发性的NOSQL数据库,因为内存不持久。它是以下案例的理想选择
真实的 - 时间消费数据
>用户会话
购买购物车
>循环:
的工具或简单函数作为Microtime()来验证实际影响。请注意循环中的数据操纵,并避免记忆浪费
> >本机操作:使用本机PHP功能(例如Array_map)通常比创建自定义解决方案更安全,更有效。请记住,“无需重新发明轮子。”
>最小化循环操作:
的人的生活更轻松。
示例:
当用户在电子商务中购买时,是否有必要立即发送电子邮件确认?很多时候,不。在这种情况下,您可以将电子邮件发送到排队,该队列将在很多地方进行处理,并保存资源并确保可扩展性
>子流程
:这不是银色子弹,但取决于情况,值得
需要并包括
:更喜欢使用自动装置来管理类和文件加载。这不仅可以提高性能,还避免了大型和不必要的班级(著名的巨型)问题。例如,仅使用SELECT方法加载7,000行加载一类是极低效率的。在这些情况下,重要的是要考虑重构
>您需要知道的第一件事是PHP是一种非常简单的语言。在正常的温度和压力条件下,适用于代码中的请求量以及适当的优化,一切都可以很好地工作
“但是马修,什么是与请求数量相对应的机器?”
我已经参与了每天收到超过600万请求的复杂应用程序的实施和优化,平均而言,使用2台具有2个VCPU和2 GB的RAM 的机器。
现在,谈论工具:
>保持更新版本>
保持软件包,工具,框架和最高的PHP语言至关重要。我知道,通常会从较旧版本(例如PHP 7.4)迁移到像PHP 8.x这样的新版本的努力似乎很大。但是,在绩效,安全性和支持方面的好处值得付出努力
>
特别注意线程和儿童过程(儿童过程)的配置。为这些设置设置非常高的值或允许使用大文件的值可能会超载机器,从而导致缺陷和不可用。始终根据机器容量和实际应用要求调整这些设置
监视
当我们谈论优化时,最重要的项目之一就是了解需要优化的内容。为此,良好的应用程序监视工具(应用程序性能监视)可以提供有价值的信息,并在问题变得至关重要之前允许预防措施
从手动PHP日志搜索到自动解决方案,有几种监视方法。在自动化工具中,脱颖而出:
datadatog
这些工具被称为“插件”:只需安装代理,重新启动服务并配置面板即可创建指标和警报
另一方面,还有更多的手动选项,尽管需要更大的努力和团队知识,但可能值得取决于上下文:
使用这些手动工具的挑战是它们添加的复杂性,尤其是在没有专用支持团队的强大应用程序中。这些解决方案需要大量的配置,严格的测试并小心,以防止代理对性能产生负面影响。此外,他们需要故障转移层和层 - 仅冗余机通常还不够。 但是,在周末实施和测试这些工具可能是一个巨大的挑战! 在大多数情况下,诸如New Resic之类的工具在大多数情况下提供了一个很好的起点,提供了预防灾难的出色能力。但是,重要的是要意识到成本,这取决于用途
以上是最大化应用程序-PHP的详细内容。更多信息请关注PHP中文网其他相关文章!