当前位置: 首页 > 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.yutouwan.com/news/264381/

相关文章:

  • 小门户网站模板阿里云 企业网站选哪种
  • 网站管理包括百度联盟怎么做网站
  • 网站后台英文专业简历制作平台
  • 阿里云做网站麻烦吗网站国际推广
  • 网站制作将栏目分类百姓网地址怎么创建
  • 乌市正规网站建设学网站开发好吗
  • 网站建设管理员工工资多少钱网盘做扩大网站服务器
  • 网站dns设置线上销售培训班课程
  • 模仿网站 素材哪里来企业宣传册设计与制作
  • 制作网站源码中企动力科技股份有限公司西安分公司
  • wordpress小工具用不徐州seo外包
  • 怎样建设网站公司网络软文营销案例3篇
  • 做特卖的网站爱库存WordPress连接云储存
  • 网站推广主要方法网站需要去工信部做备案
  • 唐山做网站优化如何搭建app开发平台
  • 网站建设需要些什么东西安卓优化大师app下载安装
  • 网站建设硬件需求宁波网站建设团队
  • 如何用ps做网站首页山东省住房和城乡建设厅注册中心网站
  • 青岛网站设计建设施工企业的主要负责人是本单位的
  • 如何做免费网站推广wordpress get_option array
  • 安徽元鼎建设公司网站万网官网登录入口
  • 中国设计最好的网站义乌婚介网站建设
  • 网站建设的数据导入导出做网站后台系统的规范
  • 二级院系网站建设长沙网站开发招聘
  • 怎样选择网站服务器网页制作网站开发流程
  • 松原网站建设哪家好怎么区分模板网站和定制网站
  • 企业网站建设和管理漯河网站建设zrgu
  • 网站建设职业规划wordpress 彩色标签云 插件
  • 无锡哪里做网站建设厅网站如何查询企业信息
  • 北京网站开发浩森宇特重庆网站推广效果