nghuyong


  • 首页

  • 分类

  • 归档

  • 关于

  • 搜索

uwsgi网络积压数扩增

发表于 2020-11-23 | 分类于 运维 |

前言

生产环境遇到了并发产生的错误:服务在被调用的过程中超时。

排查后原因是flask+uwsgi部署方案中的请求积压队列大小默认只有100,所以如果短时间服务收到大量的请求并没来得及处理,积压的队列如果超过了100,后续的请求系统就不再响应了。

Note that a “listen backlog” of 100 connections doesn’t mean that your server can only handle 100 simultaneous (or total) connections - this is instead dependent on the number of configured processes or threads. The listen backlog is a socket setting telling the kernel how to limit the number of outstanding (as yet unaccapted) connections in the listen queue of a listening socket. If the number of pending connections exceeds the specified size, new ones are automatically rejected. A functioning server regularly servicing its connections should not require a large backlog size.

所以可以从两个角度来优化:

(1) 增加积压队列的大小,从100调整到1000

(2) 增加flask的处理速度,调高进程的数量

阅读全文 »

mysql笔记

发表于 2020-08-09 | 分类于 数据库 |

前言

这篇笔记用来记录常见的mysql操作

阅读全文 »

K8s使用笔记

发表于 2020-07-06 | 分类于 运维 |

前言

这篇笔记用来记录k8s使用过程中一些有用的case.

切换命名空间

1
kubens <namespace>
阅读全文 »

pandas笔记速查

发表于 2020-06-30 | 分类于 Python |

检查空数据

查看有空数据的行

1
2
3
4
# 指定列
df[df['描述'].isna()
# 任意列
df[df.isna().any(axis=1)]

选取非空的数据

1
2
3
4
# 指定列
df = df[df['描述'].notna()]
# 任意列
df.dropna()

删除某些列

1
df = df.drop(['col1','col2'], axis=1)

新增一列

基于其他列

1
df['new_col'] = df.apply(lambda row: fun(row), axis=1)

Docker使用笔记

发表于 2019-09-16 | 分类于 运维 |

前言

这篇笔记用来记录docker使用过程中一些有用的case.

使用docker免去sudo

Docker守候进程绑定的是一个unix socket,而不是TCP端口。这个套接字默认的属主是root,其他是用户可以使用sudo命令来访问这个套接字文件。因为这个原因,docker服务进程都是以root帐号的身份运行的。

为了避免每次运行docker命令的时候都需要输入sudo,可以创建一个docker用户组,并把相应的用户添加到这个分组里面。当docker进程启动的时候,会设置该套接字可以被docker这个分组的用户读写。这样只要是在docker这个组里面的用户就可以直接执行docker命令了。

1
2
3
4
5
6
7
8
# 新建用户组docker之前,查看用户组中有没有docker组
sudo cat /etc/group | grep docker
# 创建docker分组,如果没有
sudo groupadd -g 999 docker
# 添加用户
sudo usermod -aG docker <username>
# 重新启动docker服务
sudo systemctl restart docker
阅读全文 »

cuda9.0升级10.0记录

发表于 2019-07-19 | 分类于 工具 |

起因

目前tensorflow2.0和pytorch1.0均已经需要cuda10.0了,所以记录一下cuda的升级过程

阅读全文 »

非递归遍历二叉树的方法

发表于 2019-04-03 | 分类于 算法 |

前言

统一的简洁的二叉树非递归遍历写法

阅读全文 »

Python版排序算法整理

发表于 2019-03-13 | 分类于 算法 |

前言

经典的排序算法,用Python来实现,可以非常简洁。

阅读全文 »

(Gitchat备份)构建单机千万级别的微博爬虫系统

发表于 2018-09-12 | 分类于 爬虫 |

1. 前言

这是本人第一次做Gitchat,非常荣幸能够将我这段时间对微博数据的抓取工作整理成这篇文章,分享给大家。最后,我也会讲述一下我对于爬虫的理解,以及爬虫工程师,这个大数据时代站在数据最源头的人,工作是什么样的,未来有什么发展。

阅读全文 »

Selenium使用小结

发表于 2018-01-31 | 分类于 爬虫 |

Chrome浏览器无头模式

1
2
3
4
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=chrome_options)
阅读全文 »
12
Hu Yong

Hu Yong

11 日志
6 分类
6 标签
RSS
GitHub 知乎 CSDN
Creative Commons
© 2020 Hu Yong
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4
苏 ICP 备 17002869 号