[发明专利]一种提升Codeigniter框架性能的方法及装置有效
申请号: | 202011640486.7 | 申请日: | 2020-12-31 |
公开(公告)号: | CN112612428B | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 甘磊;连恒;郭政;周华;胡军擎 | 申请(专利权)人: | 上海英方软件股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/448;G06F9/48 |
代理公司: | 上海国智知识产权代理事务所(普通合伙) 31274 | 代理人: | 潘建玲 |
地址: | 200011 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提升 codeigniter 框架 性能 方法 装置 | ||
本发明公开了一种提升Codeigniter框架性能的方法及装置,该方法包括:步骤S1,调整Codeigniter框架代码,拆分框架入口及核心文件,并调整其中与Swoole不兼容的代码;步骤S2,创建一个Server,产生包含Reactor线程的Master、Worker、Task及Manager进程,并开启一键协程化;步骤S3,在Server接收到业务请求后,由Master基于事件驱动转发给Worker;步骤S4,Worker调用Codeigniter框架处理Master的Reactor线程投递的业务请求,将响应数据发给Reactor;步骤S5,Reactor将得到的响应数据发送给客户端。
技术领域
本发明涉及Web应用开发技术领域,特别是涉及一种基于Swoole提升Codeigniter框架性能的方法及装置。
背景技术
目前,以PHP(Hypertext Preprocessor,超级文本预处理语言)做为开发语言的Web应用,多数采用Apache(服务器软件)或Nginx(HTTP和反向代理web服务器)通过SAPI(Server Application Programming Interface,服务器应用程序编程接口)和PHP交换数据以对外提供HTTP服务。常见SAPI的部署方式有APACHE2HANDLER模式(Apache下preforkMPM),CGI/FastCGI模式(Apache下worker MPM、event MPM和Nginx)。无论哪种模式,最终的请求处理都是由PHP完成的。
虽然FastCGI模式下并发性能有所提升,但其处理能力仍取决CGI进程的数量;进程过多时的调度、PHP程序执行时的网络或磁盘IO阻塞导致CPU上下文频繁切换,以及机器本身的性能限制使其很容易出现性能瓶颈。而在互联网时代,高并发访问请求下,性能问题会被放大,亦可能产生雪崩效应,导致系统响应慢,甚至不可用,就会大大降低互联网产品的用户体验度。
另一方面,Codeigniter是一个小巧但功能强大的PHP框架,作为一个简单而“优雅”的工具包,它可以为开发者们建立功能完善的Web应用程序;但其同样也存在上述的性能问题外,来自用户的每次请求都会重新从磁盘加载整个脚本产生额外的磁盘IO,进一步影响性能。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种提升Codeigniter框架性能的方法及装置,以解决现有技术中基于PHP Codeigniter框架开发的Web应用程序中存在的性能问题。
为达上述目的,本发明提出一种提升Codeigniter框架性能的方法,包括如下步骤:
步骤S1,调整Codeigniter框架代码,拆分Codeigniter框架入口及核心文件,并调整其中与Swoole不兼容的代码,以供Swoole调用;
步骤S2,创建一个Server,产生包含Reactor线程的Master进程、Worker进程、Task进程、Manager进程,并开启协程化支持;
步骤S3,在所述Server接收到业务请求后,由Master进程基于事件驱动转发给Worker进程;
步骤S4,Worker进程调用Codeigniter框架处理所述Master进程的Reactor线程投递的业务请求,并将响应数据发给Reactor线程;
步骤S5,所述Reactor线程将得到的响应数据发送给客户端。
优选地,步骤S1包括:
步骤S100,将所述Codeigniter框架入口index.php中进行框架资源相关和环境常量的初始化代码提取为Codeigniter_config.php;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海英方软件股份有限公司,未经上海英方软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011640486.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种商用空调外机用排水支架
- 下一篇:一种基于日志解析的DDL分析方法及装置