nginx限速

nginx限制ip并发数和访问频率以及下载速度 限制并发 nginx版本1.1.8 之后 ngx_http_limit_zone_module  改名为: ngx_http_limit_conn_module http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn limit_zone指令改成limit_conn_zone了

往graphite灌数据

http://graphite.readthedocs.org/en/0.9.10/feeding-carbon.html 找了半天,总算找到文档地址了,汗。 Getting your data into Graphite is very flexible. There are three main methods for sending data to Graphite: Plaintext, Pickle, and AMQP. The plaintext protocol: 格式如下:

cargo默认监听端口2003,用nc测试一下

The pickle protocol: 这个协议,支持多个监控数据的提交,监听端口2004 格式

例子:

Graphite修改默认端口

graphite默认使用8080端口,被占了,如何修改呢? vi /opt/graphite/bin/run-graphite-devel-server.py

修改8080为你的端口就行了。 启动graphite-web

django修改方法 python manage.py runserver 80 python manage.py runserver 0.0.0.0:80

ESCC#1 ElasticSearch国内开发者线下交流活动

第一届elasticsearch国内开发者线下交流活动圆满结束了,尽管当天外面下着小雪,还是到场了30几位童鞋,甚至有不远从天津远道而来的,感谢大家的捧场,另外还要大力感谢人人网的饶兄,是他提供的场地。 这次线下交流吧,说是线下交流,其实主要是我给大家做培训,希望下次再搞线下交流,一定要多一点人分享,好东西,要分享。 下面是培训的内容,第一部分是基础的关于ES的介绍,后面的部分是ES分布式架构设计和调优的一些东西。 以前是参加过各种交流活动,但是组织这个线下交流活动还是头一次,哈哈,最后应该合影留念的,哎,搞忘记了。 示例程序及fiddler调试记录下载: misc Elastic Search Training#1 (Brief Tutorial)-ESCC#1 ElasticSearch Training#2 (Advanced Concepts)-ESCC#1

Multi Field Type 介绍及使用方法

洋洋洒洒写了几千字,结果发布提交丢了,很郁闷。 捡起来重新写吧,尼玛。 翻译了一下multi-field,在线在这里http://www.elasticsearch.cn/guide/reference/mapping/multi-field-type.html 以后翻译的文章都贴到博客里面吧,省的藏得太深,大家都找不到。 博客里面会补充详细的使用方法。 下面是multi-field的介绍:

freeswitch&ESL事件处理

FreeSwitch里面有一系列的事件,有通道级别的,如channel的创建、销毁、挂断、接听,又或者freeswitch系统级别的事件,如重新加载xml配置文件,freeswitch服务关闭等等,都有相应的事件发出,你使用mod_event模块,并订阅相应事件。 完整的事件列表:http://wiki.freeswitch.org/wiki/Event_List 有了这些事件之后,你就可以灵活控制freeswitch了,非常灵活,在通话的每个阶段,处理相应的业务逻辑,想实现什么功能都没有问题了,比如计费、入库、定时提醒、强插、转移,各种复杂的业务逻辑基本上都能实现,哈哈,嗷嗷强悍。

freeswitch桥接

话务落地之后的号码桥接,实现软电话号码之间,传统电话之间,软电话与传统电话之间的桥接,ESL命令如下:

ref:http://wiki.freeswitch.org/wiki/Freeswitch_IVR_Originate

freeswitch对接sip trunk实现话务落地

下午尝试了下对freeswitch的话务落地,在网友的帮助下终于对接成功,期间遇到不少问题,注意是端口不一致的问题。 一般sip trunk服务提供商会提供有需要密码和不需要密码两种,对方都会询问你的ip和端口来进行绑定,并提供一个ip给你。 下面是不需要密码的配置方法。 1.添加sip 代理网关,注意是external下面: /usr/local/freeswitch/conf/sip_profiles/external/gw1.xml

2.添加一个dialplan: /usr/local/freeswitch/conf/dialplan/default/call_out.xml

3.使用sip账号登陆,呼叫以0开头的手机号码就可以拨通了。 注意服务端必须打开对应端口的权限。 对接的过程中如果不能确定到底是那方出现了问题,可以在fs端抓包进行分析,看往来请求,sip协议类似http,很好分析。 使用tcpdump来抓,然后wireshark看就行了。

发布俩elasticsearch插件

中文简繁体转换: https://github.com/medcl/elasticsearch-analysis-stconvert 简体和繁体互相转换,比如可以通过简体来查找繁体的文档内容,或者通过繁体来在简体文档里面查找,或者不区分简繁体实现查询功能。 字符转数字: https://github.com/medcl/elasticsearch-analysis-string2int 思路很简单,如果你的term或者field都是中文的短语,并且唯一的term很多,在做facet的时候,内存占用将会非常高,一般来说,做facet的字段的值,都是不经常变的,可以理解为常量,或者理解为实体(entity),当内存不够的情况下,会大大影响查询的效率,另外集群内带宽开销也是大大的,但是如果转换成数字来存储,即把相同的词语或者短语,通过词典,映射为唯一的数字id,然后使用数字来做标示,内存使用量会急剧下降,在客户实际的使用中,使用string2int之前,做facet查询,需要耗费10G+以上的filedcache,使用string2int之后,内存可在100M内,效果非常明显,另外查询速度也是从几十秒甚至几分钟或者直接出不来,直接变成到ms级别,效果很不错。