分享-PHP性能提升的几个方法.pptx
分享-PHP性能提升的几个方法,360技术专家分享 PHP 的几个性能提升方法。
腾讯微服务框架Tars依赖软件包-2
腾讯TarsCloud 微服务框架 Tars依赖软件包。
https://github.com/TarsCloud/Tars/tree/master/build
一共两个,内容包含下面文件:
apache-maven-3.3.9-bin.tar.gz
cmake-2.8.8.tar.gz
gcc-4.8.3.tar.gz
jdk-8u111-linux-x64.tar.gz
mysql-5.6.26.tar.gz
resin-4.0.49.tar.gz
腾讯微服务框架Tars依赖软件包-1
腾讯TarsCloud 微服务框架 Tars依赖软件包。
https://github.com/TarsCloud/Tars/tree/master/build
一共两个,内容包含下面文件:
apache-maven-3.3.9-bin.tar.gz
cmake-2.8.8.tar.gz
gcc-4.8.3.tar.gz
jdk-8u111-linux-x64.tar.gz
mysql-5.6.26.tar.gz
resin-4.0.49.tar.gz
PHP高性能组合框架(C扩展)
1、考虑之前做的项目都是CI框架,如果全部推翻,将会有超级多的东西需要修改,所以我将CI引擎替换,但是SuperCI对外提供的调用方式不变,
2、框架支持4层架构,Controller、Business、Dao、View 层。
3、首先我将CI框架的路由部分抽取出来, 替换成Yaf。
4、然后将CI的数据库ORM操作底层引擎替换成Phalcon, 然而这并不是一个全部的Phalcon, 而是将Phalcon所有其它模块全部删除,仅保留DB操作部分,重新编译之后生成的ORM引擎,替换到CI的数据库底层操作,相当于给五菱宏光装上了悍马的发动机,数据库操作性能能提升2倍。
5、代码模块分离,并加入自己写的模块、类库、配置加载类。
6、加入自己的日志记录类 Logger::get_instance("log_name"):
7、加入redis的通用实例化加载方法 Loader::redis("default");
8、替换 PHP 5 到 PHP 7 , 开启代码缓存opcache。
9、支持Redis主从
PHP高性能4层框架SuperCI
1、考虑之前做的项目都是CI框架,如果全部推翻,将会有超级多的东西需要修改,所以我将CI引擎替换,但是SuperCI对外提供的调用方式不变,
2、框架支持4层架构,Controller、Business、Dao、View 层。
3、首先我将CI框架的路由部分抽取出来, 替换成Yaf。
4、然后将CI的数据库ORM操作底层引擎替换成Phalcon, 然而这并不是一个全部的Phalcon, 而是将Phalcon所有其它模块全部删除,仅保留DB操作部分,重新编译之后生成的ORM引擎,替换到CI的数据库底层操作,相当于给五菱宏光装上了悍马的发动机,数据库操作性能能提升2倍。
5、代码模块分离,并加入自己写的模块、类库、配置加载类。
6、加入自己的日志记录类 Logger::get_instance("log_name"):
7、加入redis的通用实例化加载方法 Loader::redis("default");
8、替换 PHP 5 到 PHP 7 , 开启代码缓存opcache。
SuperCI框架
我对项目进行了优化升级,在此基础上开发了一个新的轻量级组合框架(4层架构),命名为 SuperCI:
1、考虑之前做的项目都是CI框架,如果全部推翻,将会有超级多的东西需要修改,所以我将CI引擎替换,但是SuperCI对外提供的调用方式不变,
2、框架支持4层架构,Controller、Business、Dao、View 层。
3、首先我将CI框架的路由部分抽取出来, 替换成Yaf。
4、然后将CI的数据库ORM操作底层引擎替换成Phalcon, 然而这并不是一个全部的Phalcon, 而是将Phalcon所有其它模块全部删除,仅保留DB操作部分,重新编译之后生成的ORM引擎,替换到CI的数据库底层操作,相当于给五菱宏光装上了悍马的发动机,数据库操作性能能提升2倍。
5、代码模块分离,并加入自己写的模块、类库、配置加载类。
6、加入自己的日志记录类
7、替换 PHP 5 到 PHP 7 , 开启代码缓存opcache。
通过以上工作,CPU利用率提升10倍,内存使用大幅提升,响应时间降低到原来50%, 线上运行半年,稳定可靠,线上服务器使用减少2/3,框架极度轻量级, 越是简单的东西越是好的,不说了,上图上源码。
superci框架(高性能PHP框架)
最近在研究PHP的各种框架, 有yaf, phalcon, CI框架,
1、其中Yaf 是PHP国内第一人写的纯C框架, 核心在于路由部分与类的加载功能, 可惜没有数据库ORM操作,极轻量级。
2、phalcon是国外非常火的一个框架,也是一个纯C框架,非常重量级,过于臃肿,文档不太完善。
3、CI也是一个市场占有率非常高的框架,是纯PHP框架,适度轻量级,文档丰富,性能不及 Yaf 的 1/3。
依照上面的原理,我对项目进行了优化升级,在此基础上开发了一个新的轻量级组合框架,命名为 SuperCI:
1、考虑之前做的项目都是CI框架,如果全部推翻,将会有超级多的东西需要修改,所以我将CI引擎替换,但是SuperCI对外提供的调用方式不变,
2、首先我将CI框架的路由部分抽取出来, 替换成Yaf。
3、然后将CI的数据库ORM操作底层引擎替换成Phalcon, 然而这并不是一个全部的Phalcon, 而是将Phalcon所有其它模块全部删除,仅保留DB操作部分,重新编译之后生成的ORM引擎,替换到CI的数据库底层操作,相当于给五菱宏光装上了悍马的发动机,数据库操作性能能提升2倍。
4、代码模块分离,并加入自己写的模块、类库、配置加载类。
5、加入自己的日志记录类
6、替换 PHP 5 到 PHP 7 , 开启代码缓存opcache。
通过以上工作,整体服务性能提升10倍
STL原码剖析_stl各类组件高阶实现技巧
庖丁解牛!恢恢乎游刃有余,无限延伸你的视野!STL组件高阶实现技巧!