`

系统架构常识,各种技术原理小结

 
阅读更多
Zend<wbr style="font-weight:bold"><span style="font-size:24px"><span style="font-weight:bold">Optimize</span><span style="font-weight:bold">r</span></span>(以下简称ZO)用优化代码的方法来提高php应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time<wbr>Compiler)产生的代码进行优化。<br><br></wbr></wbr>


eAccelerator 原理

  eAccelerator 通过把经过编译后的 PHP 代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator 还可以把他们缓存到系统磁盘上。

  eAccelerator 同样还支持 PHP 代码的编译和解释执行,你可以通过 encoder.php 脚本来对php代码进行编译达到保护代码的目的,经过编译后的代码必须运行在安装了 eAccelerator 的环境下。eAccelerator 编译后的代码不能被反编译,它不象其他一些编译工具那样可以进行反编译,这将使得代码更加安全和高效。

深入分析eaccelerator的opcode缓存功能



FastCGI的工作原理是:
  1、Web Server 启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);
  2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。
  3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi.exe。
  4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。 在正常的CGI模式中,php-cgi.exe在此便退出了。

  在上述情况中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。

FastCGI的不足

  因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。
  
  Nginx 0.8.46+PHP 5.2.14(FastCGI)服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。


参考:fastcgi 优化



分享到:
评论

相关推荐

    3GPP长期演进(LTE)技术原理与系统设计 清晰电子版pdf

    《3GPP长期演进(LTE)技术原理与系统设计》系统地介绍了3GPP长期演进(LTE)的技术原理和系统设计。全书分为9章,第1章首先介绍了LTE产生的背景,然后概述了LTE的重要技术特点;第2章介绍了LTE的需求指标;第3章详细...

    《3GPP长期演进(LTE)技术原理与系统设计》Part1

    1.7 小结 31 参考文献 31 第2章 LTE需求 32 2.1 系统容量需求 33 2.1.1 峰值速率 33 2.1.2 系统延迟 33 2.2 系统性能需求 34 2.2.1 用户吞吐量与控制面容量 34 2.2.2 频谱效率 35 2.2.3 移动性 36 2.2.4 覆盖 36 ...

    《3GPP长期演进(LTE)技术原理与系统设计》part2

    1.7 小结 31 参考文献 31 第2章 LTE需求 32 2.1 系统容量需求 33 2.1.1 峰值速率 33 2.1.2 系统延迟 33 2.2 系统性能需求 34 2.2.1 用户吞吐量与控制面容量 34 2.2.2 频谱效率 35 2.2.3 移动性 36 2.2.4 覆盖 36 ...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理

    MapReduce设计理念与基本架构2.1 Hadoop发展史2.1.1 Hadoop产生背景2.1.2 Apache Hadoop新版本的特性2.1.3 Hadoop版本变迁2.2 Hadoop MapReduce...MapReduce架构2.5 Hadoop MapReduce作业的生命周期2.6 小结第二部分...

    3GPP长期演进(LTE)技术原理与系统设计--详细书签版

    《3GPP长期演进(LTE)技术原理与系统设计》系统地介绍了3GPP长期演进(LTE)的技术原理和系统设计。全书分为9章,第1章首先介绍了LTE产生的背景,然后概述了LTE的重要技术特点;第2章介绍了LTE的需求指标;第3章详细...

    基于SSH架构的在线答疑系统.doc

    2.7 本章小结 15 第三章 在线答疑系统的需求分析和总体设计 16 3.1 答疑系统主要角色 16 3.2 系统功能描述和总体设计 16 3.2.1 前台系统功能描述及设计 16 3.2.2 后台系统功能设计及描述 17 3.3数据库设计 18 3.3.1 ...

    P2P网络技术原理与C++开发案例 源代码和第五章电子书 Peercast(王浩聪注释版)

    3.3.7 小结 53 3.4 非结构化P2P网络的搜索技术 53 3.4.1 Flooding 54 3.4.2 Modified-BFS 55 3.4.3 Iterative Deepening 55 3.4.4 Random Walk 56 3.4.5 Query Routing 57 3.4.6 Gnutella2 59 3.4.7...

    基于SpringBoot框架社交网络平台的设计与实现.docx

    2.5本章小结 第3章 系统需求分析与设计 3.1系统需求概要 3.1.1需求目标 3.1.2需求分析 3.2数据库设计 3.2.1数据库概念结构设计 3.2.2数据库逻辑结构设计 3.2.3数据库物理结构设计 3.3系统架构设计 3.4本章小结 第4章...

    基于JAVA技术的医院管理住院系统软件程序源码+数据库+word毕业设计论文文档.zip

    JAVA技术的医院管理住院系统软件程序源码+数据库+word毕业设计论文文档.本系统主要分为六大模块,分别是医生管理模块、病人管理模块、病床管理模块、收费管理模块、统计分析模块和系统功能模块 ,医生、病人和医院的...

    安防天下智能网络视频监控技术详解与实践part2

    9.2.1 vmd技术原理介绍 259 9.2.2 vmd技术的缺陷 259 9.3 vca技术介绍 260 9.3.1 vca技术的原理 260 9.3.2 vca技术的突破 260 9.3.3 vca的关键技术 262 9.4 视频分析工作机制 263 9.4.1 视频分析软件...

    安防天下智能网络视频监控技术详解与实践.part3

    9.2.1 vmd技术原理介绍 259 9.2.2 vmd技术的缺陷 259 9.3 vca技术介绍 260 9.3.1 vca技术的原理 260 9.3.2 vca技术的突破 260 9.3.3 vca的关键技术 262 9.4 视频分析工作机制 263 9.4.1 视频分析软件框架 263...

    安防天下智能网络视频监控技术详解与实践part1

    9.2.1 vmd技术原理介绍 259 9.2.2 vmd技术的缺陷 259 9.3 vca技术介绍 260 9.3.1 vca技术的原理 260 9.3.2 vca技术的突破 260 9.3.3 vca的关键技术 262 9.4 视频分析工作机制 263 9.4.1 视频分析软件...

    基于Java的支教信息共享系统设计与实现.docx

    13 4.1.1 架构建模 13 4.1.2 实现原理 13 4.2 系统功能模块设计 13 4.3 数据库设计 14 4.3.1 数据库概念结构设计 14 4.3.2 数据库逻辑结构设计 15 4.4 功能模块划分 16 4.5 本章小结 17 5 系统实现 19 5.1 前台功能...

    Delphi模式编程第一分卷

    4.3.2 范例小结 第5章 抽象工厂模式(Abstract Factory) 5.1 模式解说 5.2 结构和用法 5.2.1 模式结构 5.2.2 代码模板 5.3 范例与实践 5.3.1 用抽象工厂模式动态构造界面风格 5.3.2 WebSnap的Web Module...

    Delphi模式编程第二分卷

    4.3.2 范例小结 第5章 抽象工厂模式(Abstract Factory) 5.1 模式解说 5.2 结构和用法 5.2.1 模式结构 5.2.2 代码模板 5.3 范例与实践 5.3.1 用抽象工厂模式动态构造界面风格 5.3.2 WebSnap的Web ...

    Visual C++音频视频处理技术及工程实践(分卷0)

    主要内容包括软件Visual C++2005的开发技术、DirectSound开发音频、DirectShow/VFW开发视频、MMX/SSE进行多媒体汇编编程、DM642 DSP进行音视频算法优化和主流视频算法MPEG-4/H.264的编码原理及工程实践。本书系统地...

    Visual C++音频视频处理技术及工程实践(含源码2/2)

    主要内容包括软件Visual C++2005的开发技术、DirectSound开发音频、DirectShow/VFW开发视频、MMX/SSE进行多媒体汇编编程、DM642 DSP进行音视频算法优化和主流视频算法MPEG-4/H.264的编码原理及工程实践。本书系统地...

    Visual C++音频视频处理技术及工程实践地址

    主要内容包括软件Visual C++2005的开发技术、DirectSound开发音频、DirectShow/VFW开发视频、MMX/SSE进行多媒体汇编编程、DM642 DSP进行音视频算法优化和主流视频算法MPEG-4/H.264的编码原理及工程实践。本书系统地...

Global site tag (gtag.js) - Google Analytics