- 浏览: 752021 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
hsl313:
源码还有得下载吗?
利用AMF数据封装与Flash 进行Socket通讯 -
zhang5476499:
已看,谢谢讲解。
Mock单元测试 -
Buydeful:
...
关于JSP或HTML的命名规范 -
lliiqiang:
单一登陆最好采用踢掉方法,如果忘记退出,可以从别的地方控制方式 ...
Jquery选择器大全 -
lliiqiang:
web代码由后台动态生成,这种动态方式多种多样,多提供几种标准 ...
Jquery选择器大全
原讨论帖:http://www.iteye.com/topic/267429
dango的fastcgi模式有如下几个重要参数:
# protocol=PROTOCOL fcgi, scgi, ajp, ... (default fcgi) # host=HOSTNAME hostname to listen on.. # port=PORTNUM port to listen on. # socket=FILE UNIX socket to listen on. # method=IMPL prefork or threaded (default prefork) # maxrequests=NUMBER number of requests a child handles before it is # killed and a new child is forked (0 = no limit). # maxspare=NUMBER max number of spare processes / threads # minspare=NUMBER min number of spare processes / threads. # maxchildren=NUMBER hard limit number of processes / threads # daemonize=BOOL whether to detach from terminal. # pidfile=FILE write the spawned process-id to this file. # workdir=DIRECTORY change to this directory when daemonizing. # outlog=FILE write stdout to this file. # errlog=FILE write stderr to this file. # umask=UMASK umask to use when daemonizing (default 022).
protocol=PROTOCOL fcgi, scgi, ajp, ... (default fcgi) host=HOSTNAME hostname to listen on.. port=PORTNUM port to listen on. socket=FILE UNIX socket to listen on. method=IMPL prefork or threaded (default prefork) maxrequests=NUMBER number of requests a child handles before it is killed and a new child is forked (0 = no limit). maxspare=NUMBER max number of spare processes / threads minspare=NUMBER min number of spare processes / threads. maxchildren=NUMBER hard limit number of processes / threads daemonize=BOOL whether to detach from terminal. pidfile=FILE write the spawned process-id to this file. workdir=DIRECTORY change to this directory when daemonizing. outlog=FILE write stdout to this file. errlog=FILE write stderr to this file. umask=UMASK umask to use when daemonizing (default 022).
很多参数和tomcat中是一样的,主要有一个host,port,socket需要讲解一下,host和port我们知道应该是成对出现的,那么socket是什么呢,其实他们都是socket,只不过,host+port模式是tcp
sock,而socket是unix sock,他们都是套接字,一个是操作系统本地的,一个是网络套接字而已。
在django中,lighttpd是不能去控制fcgi进程的产生或者消亡,这些工作都是flup,也就是python manager.py funfcgi 这个命令来产生一个父进程,然后,根据请求由这个父进程来动态的spawn子进程,不过,如果maxspare和minspare如果够大,比如说和maxchilden一样大,都是50 ,那么最大子进程数就是50,最大空闲进程数也是50,最小空闲进程数也是50,这样,父进程就不会不停的销毁和创建子进程了。这样其实也算是避免了动态的spawn
进程没有轻量不轻量的区别,你fork的时候开销都一样大。
所谓父子进程共享数据无非就是copy-on-write而已,这样仅仅可以节省一些物理内存,其他的好处并不大。
mod_rails就是采取这种方式,但这种方式的缺点我前面讲过了。
就我的观察来看,FastCGI进程内存开销最的部分还是内存堆,动辄100-200MB,甚至更多,你copy-on-write节省的共享代码段内存非常有限,也就10-20MB的样子
轻量级进程允许父子经常共享在内核中的数据结构,这些数据结构占的空间有限,应该不会有10-20m,所以一个是cow进程,父子进程读相同的物理页,这些fastcgi进程的物理页差不多应该是10m多
1、动态spawn进程的缺陷不在于worker进程撑死不撑死,而在于黑客可以很容易的通过瞬间发起大量请求来消耗干净CPU资源,让服务器失去响应,严重的甚至无法远程ssh上去。尽管你可能有一定的spare进程,但是这个在黑客的大量请求面前没什么效果。而静态spawn的好处就在于碰到这种情况最多网站动态请求无法响应,其他一切照常,你有充足的时间查看lighttpd的并发连接情况,找出肇事IP,然后从容的远程ssh上去封掉它。
事实上litespeed也可以通过lsapi来支持Ruby进程的动态spawn,但是经过我测试,是存在上述问题的。当然Apache的mod_rails也存在上述问题,而且更严重一些,特别是像一个比较大型的Rails应用,初始化的过程非常长,要初始化加载的数据很多,启动的时候CPU消耗是非常大的,这就是我为什么抛弃动态spawn的根本原因。
2、动态spawn超出请求数就自动销毁重起我觉得没什么意义
尽管这种自动重起机制可以一定程度上减轻内存泄漏带来的痛苦,但是如果我进程没有内存泄漏,跑的好好的,你干吗非要给我定期重起呢?
所以这种按照计数机制进行定期重起,还远不如我根据资源监控的状况来决定释放重起,如果你进程内存泄漏到一定程度,我就重起你,如果你不泄漏,我自然就不会重起你,这样的机制更合理。
发表评论
-
转:Node.js 究竟是什么?
2011-09-05 09:19 1022简介 如果您听说过 ... -
Cache Insight
2011-05-25 17:31 1247http://www.iteye.com/topic/2172 ... -
Asynchronous innerHTML
2009-06-02 10:39 1097A recent question on Stack Over ... -
Fastest way to build an HTML string
2009-06-02 10:28 1163You have a massive array of ite ... -
JS字符串加不同浏览器比较
2009-05-06 09:03 1862function StringBuffer() { ... -
kestrel项目
2009-05-02 01:58 1566kestrel项目,用于MQ,twitter实现 scala语 ... -
Tomcat6安装版本参数修改
2009-04-14 13:41 1543tomcat6w.exe //ES//Tomcat6 -Xr ... -
jvm之JSTAT
2008-12-23 16:02 2995http://java.sun.com/javase/6/do ... -
jvm之JPS
2008-12-23 10:45 1658PARAMETERS options ... -
jvm之JSTATD
2008-12-23 10:26 2620PARAMETERS options ... -
JVM监控工具介绍
2008-12-15 10:43 2998http://hqman.iteye.com/blog/167 ... -
java6性能
2008-12-10 10:55 1703J2SE 6(代号:Mustang野马 ... -
ApacheBench测试工具使用指南
2008-12-01 15:46 2278服务器负载太大而影响程序效率也是很常见的,Apache服务器自 ... -
基于等待的性能调优
2008-11-20 12:40 1102性能调优曾经是“艺术性”多于“科学性”,但是通过结合抽象分析和 ... -
Web 图片服务器
2008-08-25 14:11 2976http://www.yatan.com/group/topi ... -
图片加速
2008-08-18 11:43 1921不要GZIP图片,设置Cache 图片已经是压缩保存了的,GZ ... -
Ajax performance analysis
2008-07-22 11:28 1244http://www.ibm.com/developerwor ... -
HashMap和List的线程安全
2008-03-24 08:54 4647Map m =Collections.synchronized ... -
HTTP协议:304
2008-01-24 17:59 5937var r = new XMLHttpRequest(); ... -
【摘录】缓存
2008-01-21 10:37 1455robbin: 1、对象缓存 Java ...
相关推荐
以下是关于FastCGI安装和配置的一些关键知识点: 1. **安装前准备**:确保你的Linux系统已经安装了必要的开发工具,例如GCC编译器和相关库。这些可以通过运行`sudo apt-get install build-essential`(对于Debian/...
fastcgi fastcgi fastcgi fastcgi fastcgi
**FastCGI技术详解** FastCGI是一种常用于提高Web服务器性能的技术,它作为一个接口,允许Web服务器与外部应用程序(如PHP解释器)进行高效通信。FastCGI的主要优势在于它可以长时间保持活动状态,避免了每次请求都...
通常,这个版本会带来一些新功能、性能优化或者错误修复。开发者在使用时需要按照该版本的文档说明进行配置和编译。 总结来说,FastCGI SDK是一个强大的工具集,它为各种编程语言提供了构建高效Web应用的支持。无论...
《FastCGI中文手册》是IT领域中关于Web服务器与应用程序接口的重要参考资料,它详细介绍了FastCGI协议的原理、实现以及应用。FastCGI是一种用于提高动态内容生成速度的技术,它通过持久连接来减少每次请求时的启动和...
[原创] Redhat 上 FastCGI 安装与配置 软件包 相关软件包: httpd httpd-devel fcgi-2.4.0.tar.gz mod_fastcgi-2.4.6.tar.gz 请仔细阅读其中的README 配置httpd.conf: LoadModule fastcgi_module modules/mod_...
相比之下,FastCGI保持了CGI进程的长期运行,使得多次请求可以复用同一进程,显著降低了进程管理的开销,提高了服务响应速度。 FastCGI for IIS6.0是专为Windows Server 2003上的IIS6.0设计的,它允许IIS服务器与...
### FastCGI手册知识点解析 #### 一、FastCGI技术概述 FastCGI是一种用于提高Web应用程序性能的技术,尤其适用于提高动态网页处理的速度。它通过优化传统的CGI(Common Gateway Interface)模型,解决了CGI效率低下...
**Java的FastCGI网关 jFastCGI** 在Web开发中,FastCGI(Fast Common Gateway Interface)是一种常用于提高动态网站性能的技术,它允许Web服务器与后端应用程序进行高效通信。jFastCGI是Java平台上的一个实现,它为...
标题中的“fastcgi头文件和库”指的是FastCGI接口的开发资源,这通常包括了C语言编程中使用的头文件(header files)和库文件(library files)。FastCGI是一种常用于Web服务器与应用程序之间通信的协议,它提高了...
在配置Nginx以使用FastCGI时,你需要在Nginx配置文件中定义一个location块,指定哪些URL应该通过FastCGI处理。例如: ```nginx location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/...
此外,还有一些开源的 FastCGI 应用程序服务器,如 PHP-FPM(PHP FastCGI Process Manager),专门用于优化 PHP 应用程序的性能。 **FastCGI 的优势** 1. **资源利用率**:减少了进程创建和销毁的开销,降低了...
FastCGI是一种高性能的Web服务器接口,它是CGI(通用网关接口)的增强版本,旨在解决传统CGI性能上的问题。FastCGI程序能够长时间运行,而不是每次用户请求时都创建新的进程,从而提高了效率并降低了服务器负载。...
在IT行业中,FastCGI(Fast Common Gateway Interface)是一种用于提高Web服务器性能的技术,它能够使Web服务器与外部应用程序(如动态脚本语言解释器)进行高效通信。FastCGI的核心理念是保持进程常驻,避免每次...
mod_fastcgi是Apache的一个模块,它实现了FastCGI协议,使得Apache服务器能够与FastCGI进程管理器(如spawn-fcgi或fcgiwrap)通信,进而调用动态语言(如PHP、Perl、Python等)的解释器。这个模块提供了比mod_php等...
根据提供的文件内容,我们可以整理出关于Nginx+FastCGI编译与移植的知识点,这些知识点详细地描述了在不同操作系统环境下准备、编译和移植Nginx以及其模块的过程。 1. 准备工作 在开始编译和移植之前,需要下载...
下载 Microsoft FastCGI Extension for IIS 5.1 and 6.0,用于启用 Fastcgi 扩展。 步骤 5:配置 FastCGI 扩展 安装 FastCGI 扩展,并配置 fcigext.ini 文件,在文件末尾添加以下内容: [Types] php=PHP [PHP] ...
《FastCGI中文参考手册》是一本专注于FastCGI技术的详细教程,旨在帮助开发者深入理解和有效运用这一高效、稳定的Web服务器接口技术。FastCGI是用于提高动态内容生成速度的一种协议,它允许Web服务器与长期运行的...