Skip to content

{ Category Archives } 技术资料

Linux iptables Man 翻译

转自:tpxcer的空间 http://hi.baidu.com/tpxc ps. 顺便做抓虾验证: {ZHUAXIA3c51521f96f54f3fcb53c6a7b30f7947Union} 用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改 iptables – [RI] chain rule num rule-specification[option] 用iptables – RI 通过规则的顺序指定 iptables -D chain rule num[option] 删除指定规则 iptables -[LFZ] [chain][option] 用iptables -LFZ 链名 [选项] iptables -[NX] chain 用 -NX 指定链 iptables -P chain target[options] 指定链的默认目标 iptables -E old-chain-name new-chain-name -E 旧的链名 新的链名 用新的链名取代旧的链名 说明 [...]

内部系统性能分析和优化讲义

系统性能分析和优化 前言 很高兴能有这样的机会,把我自己多年工作中对服务器硬件、软件方面的性能分析的经验和体会,以及性能优化的经验和各位朋友做一次分享。 这份ppt的内容组织大致是这样的,通过对系统中和性能相关的各个环节的介绍,使大家知道出现性能问题时可以从那些方面入手去查,而分析典型应用对系统资源使用的特点,让大家对应用和系统资源的依赖有了更直观的认识,然后我会介绍常见的分析及监控系统资源时使用的工具,这个环节应该是最主要的,最后我会举一个实际发生过的系统性能瓶颈分析和优化的案例,作为一个实践和总结。

转:网络监视工具NTOP

 转自 姜源 网络流量的监测是服务器和网络设备使用中常见的需求,在多服务器的环境下大多使用MRTG或者CACTI. 类似这样的软件还有很多,如:Nagios, zenoss, hyperic hq, jffnms等。 这些工具大多通过snmp取得服务器或网络设备的信息,不仅有网络流量,同时也可以监控服务器负载,应用服务健康状况,通过自写脚本实现多种监控。并通过类似RRDtool的绘图工具绘制图表以web界面展示给使用者。大多需要在被监控服务器上配置snmp,然后再在一台服务器(LAMP)上采集信息绘制图表。 而本文要简单介绍的NTOP是一款专门监控网络流量的软件,同样使用RRDtool绘 制图表,但它本身不需要配置snmp和web服务器。在本机安装起动后直接可以用浏览器访问3000端口访问查询和管理界面,支持用户权限管理和插件。并 且有着详细的网络状态信息。它也支持把一些统计数据输出为php,python,perl等语言的数组,这样可以很方便的在自己的程序里取到数据。如果你 想对单台的服务器的网络状态进行监控,比如在压力测试时。并且你对tcpdump这样的工具不太感冒。可以尝试一下这个方便的工具。

Linux 网址s

国外 http://lwn.net/ http://www.tldp.org/ https://rhn.redhat.com/ http://www.justlinux.com/ http://www.linuxtoday.com/ http://www.linuxquestions.org/ http://www.fokus.gmd.de/linux/ http://www.linux-tutorial.info/ http://public.www.planetmirror.com/ http://www.freebsdforums.org/forums/ http://www.netfilter.org/documentation/ http://www-106.ibm.com/developerworks/linux/ http://www.redhat.com/docs/ redhat官方文档 http://www.redhat.com/apps/support/errata/ redhat安全性警告、软件更新和增强,建议每周至少查阅一次 国内 http://www.fanqiang.com/ http://www.linuxsir.com/ http://www.chinaunix.net/ http://www.linuxfans.org/ http://www.linuxeden.com/ http://www.linuxforum.net/ http://www.linuxaid.com.cn/ http://freesoft.online.sh.cn/ http://www-900.ibm.com/developerWorks/cn/linux/index.shtml linux 常用软件搜索 http://kde-redhat.sourceforge.net/ – KDE for Red Hat project http://bingle.pku.edu.cn 北大天网ftp搜索,教育网和国内用户查找软件应首先访问,软件特别丰富 http://www.linuxforum.net/ 有很多国外软件的官方镜像,应首先访问 http://rpmfind.net http://freshmeat.net http://sourceforge.net 注:很多软件主站是在sourceforge上的,形如http://phpmyadmin.sourceforge.net的地址,可以通过 http://sourceforge.net/projects/phpmyadmin这样的地址访问,如不能上也可用http镜象直接下载软件如 http://telia.dl.sourceforge.net/phpmyadmin/ http://www.gnu.org GNU的大本营,gcc,bash之类的软件源码可以到这里得到 linux 文档和FAQs http://www.tldp.org 强烈推荐! The linux document [...]

转:Apache 模块说明

基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含,必须明确启用。 模块名称 状态 简要描述 mod_actions (B) 基于媒体类型或请求方法,为执行CGI脚本而提供 mod_alias (B) 提供从文件系统的不同部分到文档树的映射和URL重定向 mod_asis (B) 发送自己包含HTTP头内容的文件 mod_auth_basic (B) 使用基本认证 mod_authn_default (B) 在未正确配置认证模块的情况下简单拒绝一切认证信息 mod_authn_file (B) 使用纯文本文件为认证提供支持 mod_authz_default (B) 在未正确配置授权支持模块的情况下简单拒绝一切授权请求 mod_authz_groupfile (B) 使用纯文本文件为组提供授权支持 mod_authz_host (B) 供基于主机名、IP地址、请求特征的访问控制 mod_authz_user (B) 基于每个用户提供授权支持 mod_autoindex (B) 自动对目录中的内容生成列表,类似于”ls”或”dir”命令 mod_cgi (B) 在非线程型MPM(prefork)上提供对CGI脚本执行的支持 mod_cgid (B) 在线程型MPM(worker)上用一个外部CGI守护进程执行CGI脚本 mod_dir (B) 指定目录索引文件以及为目录提供”尾斜杠”重定向 mod_env (B) 允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量 mod_filter (B) 根据上下文实际情况对输出过滤器进行动态配置 mod_imagemap (B) 处理服务器端图像映射 [...]

转:Zend API:深入 PHP 内核

转:Zend API:深入 PHP 内核

Linux下编写Daemon程序

以Daemon方式运行的程序,在运行过程中与控制台无关,即不受控制台信号影响,在控制台退出后也继续保持运行,而其他非Daemon程序会受控制台操作影响,并在控制台退出时被强行退出。因此网络服务程序绝大多数都是以Daemon方式运行。 可以在程序初始化时加入以下语句,则程序将以Daemon方式运行: /* 生成一个新的进程并将原来的主进程退出 */ if(fork()) exit(0); /* 关闭 stdin, stdout, stderr 等控制台句柄 */ for (n = 0; n<3; n++) close(n); /* 将 stdin, stdout和stderr均指向/dev/null */ open(“/dev/null”, O_RDONLY); dup2(0,1); dup2(0,2); /* 设置tty的I/O属性 */ if((n=open(“/dev/tty”,O_RDWR)) > 0) { ioctl(n, TIOCNOTTY, 0) ; close(n); } /* 创建一个新的session,使当前进程成为一个process greoup的leader */ setsid(); /* 生成一个新的进程并将刚才生成的进程退出,这个新的进程已经以daemon方式运行了 */ if(fork()) exit(0);

Linux下编写Daemon程序

以Daemon方式运行的程序,在运行过程中与控制台无关,即不受控制台信号影响,在控制台退出后也继续保持运行,而其他非Daemon程序会受控制台操作影响,并在控制台退出时被强行退出。因此网络服务程序绝大多数都是以Daemon方式运行。 可以在程序初始化时加入以下语句,则程序将以Daemon方式运行: /* 生成一个新的进程并将原来的主进程退出 */ if(fork()) exit(0); /* 关闭 stdin, stdout, stderr 等控制台句柄 */ for (n = 0; n<3; n++) close(n); /* 将 stdin, stdout和stderr均指向/dev/null */ open(“/dev/null”, O_RDONLY); dup2(0,1); dup2(0,2); /* 设置tty的I/O属性 */ if((n=open(“/dev/tty”,O_RDWR)) > 0) { ioctl(n, TIOCNOTTY, 0) ; close(n); } /* 创建一个新的session,使当前进程成为一个process greoup的leader */ setsid(); /* 生成一个新的进程并将刚才生成的进程退出,这个新的进程已经以daemon方式运行了 */ if(fork()) exit(0);

转:几种经典的Hash算法的实现(源代码)

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。 设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然而Hash函数是Hash链表最核心的部分,下面是几款经典软件中使用到的字符串Hash函数实现,通过阅读这些代码,我们可以在Hash算法的执行效率、离散性、空间利用率等方面有比较深刻的了解。 下面分别介绍几个经典软件中出现的字符串Hash函数。 ●PHP中出现的字符串Hash函数 static unsigned long hashpjw(char *arKey, unsigned int nKeyLength) { unsigned long h = 0, g; char *arEnd=arKey+nKeyLength; while (arKey < arEnd) { h = (h << 4) + *arKey++; if ((g = (h & 0xF0000000))) { h = h ^ (g >> 24); h = h ^ g; } [...]