上篇博客给大家介绍了A/B测试的相关流程,是不是已经摩拳擦掌了,别着急,跟着我,咱们马上进入,sixpck的世界,而且不要担心,更文太慢,这次一次发表5篇博客,力求最大可能帮助大家认识和熟悉sixpack,帮助大家提升自己的眼界与掌握一个流行的中间件。
大家要将python环境升级到2.7版本,过低版本,和sixpack不兼容,会有bug出现
具体操作,请参看博客:提升用户体验(4)——linux升级python到2.7
安装pip插件后,我们可以自动安装sixpage,且自动下载相关依赖,省去了我们手动添加的麻烦
具体操作,请参看博客:提升用户体验(5)——linux安装python(pip)插件
直接在linux命令行中输入
pip install sixpack
则会自动安装并注册sixpack服务
添加sixpack配置(redis请自行安装,不再赘述)保存为 config.yml 保存到你喜欢的位置,我保存到 /usr/ABTest/sixpack/ 这个目录下
<span style="font-size:18px;">redis_port: 6379 # Redis port redis_host: 192.168.2.16 # Redis host redis_prefix: sixpack # all Redis keys will be prefixed with this redis_db: 15 # DB number in redis # The regex to match for robots robot_regex: $^|trivial|facebook|MetaURI|butterfly|google|amazon|goldfire|sleuth|xenu|msnbot|SiteUptime|Slurp|WordPress|ZIBB|ZyBorg|pingdom|bot|yahoo|slurp|java|fetch|spider|url|crawl|oneriot|abby|commentreader|twiceler ignored_ip_addresses: [] # List of IP asset_path: gen # Path for compressed assets to live. This path is RELATIVE to sixpack/static secret_key: '123' # Random key (any string is valid, required for sixpack-web to run) </span>
命令格式:SIXPACK_CONFIG=<path to config.yml> sixpack,我的命令为:
SIXPACK_CONFIG=/usr/ABTest/sixpack/config.yml sixpack
会提示你在哪个端口,一般为5000
输入测试:
curl http://localhost:5000/participate?experiment=button_color&alternatives=red&alternatives=blue&client_id=12345678-1234-5678-1234-567812345678
和启动sixpack服务相同:
SIXPACK_CONFIG=/usr/ABTest/sixpack/config.yml sixpack-web
会提示你在哪个端口上,一般为5001
访问效果为:
sixpack的想法挺好,安装也不困那,我从刚开始接触,到这一步,用了差不多2天的时候,中间掺杂着公司其他的事,这样的软件,易于学习,官网文档丰富,介绍详细,不愧是Facebook的团队做的产品,我们的产品也要向着这个方向,前进!
参考资料:
https://github.com/seatgeek/sixpack