2014年2月13日

Postfix 发送邮件流程简析

摘要: PostFix接受和转发邮件的说明来源ip符合inet_interfaces,收件人域符合mydestination, Postfix将接收到本地。来源ip符合inet_interfaces,且符合mynetworks,Postfix将根据收件人所在域进行转发或接受处理。来源ip符合inet_interfaces,但不符合mynetworks,收件人域符合relay_domains, Postfix将根据收件人所在域进行转发处理。PostFix接受邮件配置inet_interfaces = ALL (可以不配置,默认即ALL)mydestination 添加 要接受的域名配置用户映射之后从/v 阅读全文

posted @ 2014-02-13 17:32 出发的兰彻 阅读(380) 评论(0) 推荐(0) 编辑

2014年1月6日

Postfix性能测试(PHP版)

摘要: Postfix的性能压测(PHP版)发送测试:分别使用PHP Mail()函数和PHPMailler smtp协议发送邮件, 推送速率是指 发送个数/PHP程序运行时间, 发送速率是指 发送个数/(PHP推送时间+postfix处理积压的时间)发送方式发送量(个数*进程数)推送速率(封/s)发送速率(封/s)是否积压local10000*161.5650955861.56509558否local5000*1130.439319642.50115919积压smtp10000*121.7911544421.79115444否smtp5000*241.8683149441.86831494否smtp 阅读全文

posted @ 2014-01-06 16:56 出发的兰彻 阅读(1224) 评论(0) 推荐(0) 编辑

2014年1月3日

syslog syslog-ng rsyslog flume scribe 各种尝试

摘要: 1. syslog概念syslog本身是一种协议, 一个用来描述系统日志格式的协议, 当前的协议包括三部分:如下面是一个syslog消息:Oct 9 22:33:20 hlfedora auditd[1787]: The audit daemon is exiting.其中“”是PRI部分,“Oct... 阅读全文

posted @ 2014-01-03 15:18 出发的兰彻 阅读(6976) 评论(4) 推荐(0) 编辑

2013年11月30日

PHP 堆排序实现

摘要: 在《算法: C语言实现》上看到的写法,很简洁,用PHP实现一把。=1;$i--) { fixDown($arr, $i, $len); } while($len>1) { exch($arr[1], $arr[$len]); fixDown($arr, 1, --$len); } array_shift($arr);}$arr = array(4,6,4,9,2,3);headSort($arr); 阅读全文

posted @ 2013-11-30 11:51 出发的兰彻 阅读(351) 评论(1) 推荐(0) 编辑

2013年11月10日

php 数组排序 sort asort ksort

摘要: 'sdf', 'r'=>'sdf', 'a'=> 'eee');//sort($arr); // 对数组的值进行重排, 删除之前的键值, 变为索引数组//asort($arr); // 对数组按照值进行重排,并保持索引关系,索引数组和关联数组均适用ksort($arr); // 对数组按照键值进行重排,并保持索引关系,索引数组和关联数组均适用// 对应逆序还有rsort arsort krsort// 使用函数比较有usort uksort uasort 第二个参数为比较的函数 需要在第一个参数相等 小 阅读全文

posted @ 2013-11-10 18:21 出发的兰彻 阅读(302) 评论(0) 推荐(0) 编辑

PHP strrpos strpos strstr strrchr 区别

摘要: 1. strstrstringstrstr(string$haystack,mixed$needle[,bool$before_needle= false] )$needle 为字符串,如果不是字符串,那么转化为整型,使用该整型对应的字符。返回 该字符(串)首次出现到字符串尾部分, 包括该字符(串)。2. strrchrstringstrrchr(string$haystack,mixed$needle)$needle为字符, 如果是字符串,使用字符串的首字符作为匹配字符(区别于其他几个函数对字符串情况的处理), 如果不是字符也不是字符串,则转化为整型,使用该整型对应的字符。返回该字符最后一次 阅读全文

posted @ 2013-11-10 15:59 出发的兰彻 阅读(1372) 评论(0) 推荐(0) 编辑

2013年11月9日

PHP正则匹配邮件地址、URL

摘要: 匹配邮件#^[A-Za-z0-9]+[\w\.-]*@[A-Za-z0-9]+[A-Za-z0-9\.-]*[A-Za-z0-9]$#注意1. \w 表示的是 [A-Za-z0-9_] 包括下划线 2. 邮件@后的域名不能含有下划线 _ 但是可以有-<?php$email = 'sailrancho@qq_mail.com';function isEmail($email) { $preg = '#^[A-Za-z0-9]+[A-Za-z0-9\.-_]*@[A-Za-z0-9]+[A-Za-z0-9\.-]*[A-Za-z0-9]$#'; return 阅读全文

posted @ 2013-11-09 13:10 出发的兰彻 阅读(832) 评论(0) 推荐(0) 编辑

2013年10月31日

PHP使用libevent实现高性能httpServer

摘要: 今天发现php也有一个libevent的扩展,安装后尝试下了一个webserver(httpserver), 发现性能还不错,逻辑很简单,每秒响应速度1800~4000次/s代码如下<?php$socket = stream_socket_server ('tcp://0.0.0.0:8888', ... 阅读全文

posted @ 2013-10-31 20:18 出发的兰彻 阅读(988) 评论(0) 推荐(0) 编辑

syslog-ng 安装

摘要: 下载 Syslog-NG的rpm包, 地址http://www.kevindeng.org/wp-content/uploads/2010/10/Syslog-NG.zipunzip解压[root]#unzip Syslog-NG.zip依次安装安装libevt[root]#rpm -ivh libevtlog0-0.2.8-1.i386.rpmsyslog-ng 相关[root]#rpm -vih libdbi8-0.8.2bb2-3.rhel5.i386.rpm[root]#rpm -vihlibdbi8-dev-0.8.2bb2-3.rhel5.i386.rpmsyslog-ng[roo 阅读全文

posted @ 2013-10-31 12:03 出发的兰彻 阅读(1049) 评论(0) 推荐(0) 编辑

2013年10月29日

PHP GC垃圾回收机制之引用变量回收周期疑问

摘要: 普通的引用变量的销毁大家都知道, 当unset的时候如果refcount = 0 则认为无用, 销毁。但是手册中提到一点会有递归引用的问题,很是奇葩代码如下 1 [1] => Array ( [0] => 1 [1] => Array *RECURSION* ))*/这个时候 $arr[1] 递归的引用了$arr , 虽然没有意义,但是按照原来的判断refcount为0的方式会出现问题,因为当unset($arr)时, refcount=1 ,此时$arr成为一个没有任何变量指向的垃圾数据。手册中提到的方法是当一个变... 阅读全文

posted @ 2013-10-29 17:20 出发的兰彻 阅读(444) 评论(0) 推荐(0) 编辑

导航