当前位置: 首页 > news >正文

如何优化m网站福建设厅官方网站

如何优化m网站,福建设厅官方网站,哪个网站做的系统好,网站商城建设合同做服务器端开发的同学应该都对进程监控不会陌生#xff0c;最近恰好要更换 uwsgi 为 gunicorn#xff0c;而gunicorn又恰好有这么一章讲进程监控#xff0c;所以多研究了下。结合之前在腾讯工作的经验#xff0c;也会讲讲腾讯的服务器监控是怎么做的。同时也会讲下小团队又…做服务器端开发的同学应该都对进程监控不会陌生最近恰好要更换 uwsgi 为 gunicorn而gunicorn又恰好有这么一章讲进程监控所以多研究了下。结合之前在腾讯工作的经验也会讲讲腾讯的服务器监控是怎么做的。同时也会讲下小团队又该怎么敏捷的解决。下面按照监控的方法依次介绍。一、按照进程名监控在腾讯内部所有server都是要打包发布的而在打包过程中是需要填写要监控的进程名然后在crontab中定时通过ps查询进程是否存在。这种方法是比较简单的方法但是考虑到很多进程会在启动之后改名以及进程名存在各种特殊字符多个进程同时存在的问题实际操作起来并不是很舒服。举个简单的例子gunicorn启动之后的进程名类似这样 master: [wsgi:app]其中的方括号在grep时要记得转义否则就会出问题。不过不管怎么说这种方法在很多其他方式用不了的时候反而是最简单的方法。下面是用python的实现def monitor_process(key_word, cmd):p1 subprocess.Popen([ps, -ef], stdoutsubprocess.PIPE)p2 subprocess.Popen([grep, key_word], stdinp1.stdout, stdoutsubprocess.PIPE)p3 subprocess.Popen([grep, -v, grep], stdinp2.stdout, stdoutsubprocess.PIPE)lines p3.stdout.readlines()if len(lines) 0:returnsys.stderr.write(process[%s] is lost, run [%s]\n % (key_word, cmd))subprocess.call(cmd, shellTrue)二、按照端口监控这种方式之前在腾讯打包的时候也有用但是可能是进程名更直观的原因吧貌似一直没怎么用起来。不过现在自己在做包部署的时候反而觉得端口监控是个最靠谱的事情了。这个也没什么好多说的直接上刚写完的python代码def monitor_port(protocol, port, cmd):address (127.0.0.1, port)socket_type socket.SOCK_STREAM if protocol tcp else socket.SOCK_DGRAMclient socket.socket(socket.AF_INET, socket_type)try:client.bind(address)except Exception, e:passelse:sys.stderr.write(port[%s-%s] is lost, run [%s]\n % (protocol, port, cmd))subprocess.call(cmd, shellTrue)finally:client.close()有的朋友可能说对于tcp端口检查其实以client的方式来connect()看是否成功会不会更好其实我觉得这种方式也挺好的并且对于不同的协议可以再深入处理一下比如对http协议可以用urllib2.urlopen确保返回正确的包才算正常。不过如果这么做的话就有点偏黑盒监控 了比如监控宝、阿里云监控之类的服务了。三、通过监控server启动进程并以监控子进程的方式监控这个也是在gunicorn页面上看到的说起来gunicorn很不厚道的把gaffer放到第一个让我还以为是个很成熟的产品结果发现连启动都是个问题。相反排在后面的supervisor反而相当的好用下面是截图supervisor可以很方便的管理进程包括重启停止等等而且提供了web界面和用户验证可以很方便的在线管理。但是有好处就有坏处用了supervisor之后就不能自己随便的去自己重启服务了否则会影响supervisor的监控这对我这种喜欢自己执行 xx.sh restart 的人实在有点太痛苦了。当然其实要是习惯了去supervisorctl 里面start/stop/reload 之后也就还好了。用supervisor配置gunicorn的配置项如下[program:yuanzhaopin]environmentPYTHON_EGG_CACHE/tmp/.python-eggs/,PYTHONPATH/data/release/yuanzhaopincommand/usr/local/bin/gunicorn --debug --log-level debug --log-file /tmp/g.log wsgi:appuserzny2008autorestarttrueredirect_stderrtrueok目前自己常用的就是这几种模式了大家如果有其他选择欢迎留言讨论。完整代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-#*/1 * * * * python /xxx/monitor.py /xxx/logs/monitor.log 21  import sysimport subprocessimport os.path as opimport socketdef this_abs_path(script_name):return op.abspath(op.join(op.dirname(__file__), script_name))def monitor_process(key_word, cmd):p1 subprocess.Popen([ps, -ef], stdoutsubprocess.PIPE)p2 subprocess.Popen([grep, key_word], stdinp1.stdout, stdoutsubprocess.PIPE)p3 subprocess.Popen([grep, -v, grep], stdinp2.stdout, stdoutsubprocess.PIPE)lines p3.stdout.readlines()if len(lines) 0:returnsys.stderr.write(process[%s] is lost, run [%s]\n % (key_word, cmd))subprocess.call(cmd, shellTrue)def monitor_port(protocol, port, cmd):address (127.0.0.1, port)socket_type socket.SOCK_STREAM if protocol tcp else socket.SOCK_DGRAMclient socket.socket(socket.AF_INET, socket_type)try:client.bind(address)except Exception, e:passelse:sys.stderr.write(port[%s-%s] is lost, run [%s]\n % (protocol, port, cmd))subprocess.call(cmd, shellTrue)finally:client.close()#def yuanzhaopin():cmd %s start % this_abs_path(gun.sh)#monitor_process(\[yuanzhaopin\], cmd)monitor_port(tcp, 8635, cmd)def main():yuanzhaopin()if __name__ __main__:main()
http://www.huolong8.cn/news/264381/

相关文章:

  • 简历在线制作网站seo顾问服务
  • 海报模板网站有哪些惠东seo公司
  • 创意产品设计图优化大师app下载安装
  • 合肥长丰路网站建设那个视频网站最好最全网址
  • 公司申请网站建设申请理由网站建设私活中能找
  • 南京做网站哪家好广告网站建设制作设计服务商
  • intitle:律师网站建设的重要性wordpress attitude
  • 微信网站建设开发苏州网站建设排名
  • 建筑品牌网站直播网站建设项目策划书
  • 青浦专业做网站公司专科计算机哪个专业最吃香
  • 网页设计网站简单静态模板企业核名查询系统是哪个
  • 怎样把自己的网站上传网站说建设中
  • 360网站建设搜索网站开发入股合作分配比例
  • 商赢网站建设wordpress 下拉框图标
  • 杭州做网站外包公司网站正在建设中 色
  • 如何建立国际网站巩义网站建设工程
  • 网站建设三网合一指的是什么物流网站怎么开
  • 微信官方网站开发免费素材下载网站有哪些
  • 做seo网站优化价格晚上必看的正能量视频下载
  • 驾校一点通网站怎么做网站建设费用申请
  • 网站seo优化网站在dw上做网站首页导航栏
  • 漳州建设网站云南专业网站建设
  • 帮彩票网站做流量提升成都网站建设外贸
  • 石家庄网络建站网站排名张家港
  • 网页建站网站本地网站开发
  • 广州建设网站公司简介上市公司网站建设分析
  • 做网站 网络映射建站推广什么意思
  • 制作网站培训学校哈尔滨优化调整人员流动管理
  • 河间做网站 申梦网络网站空间关闭了怎么办
  • 自己做网站要多少钱做网站公司-汉狮网络