詳談python http長(zhǎng)連接客戶端
背景:
線上機(jī)器,需要過濾access日志,發(fā)送給另外一個(gè)api
期初是單進(jìn)程,效率太低,改為多進(jìn)程發(fā)送后,查看日志中偶爾會(huì)出現(xiàn)異常錯(cuò)誤(忘記截圖了。。。)
總之就是端口不夠用了報(bào)錯(cuò)
原因:
每一條日志都是一次請(qǐng)求發(fā)送給api,短連接產(chǎn)生大量time_wait狀態(tài),占用了大量端口
這種高并發(fā)導(dǎo)致的大量time_wait狀態(tài)內(nèi)核調(diào)優(yōu)基本是沒用的,后來改為長(zhǎng)連接解決問題
第一版短連接版本關(guān)鍵代碼如下
因涉及具體業(yè)務(wù)信息,只貼出了關(guān)鍵部分代碼
import pycurl where True: url=myqueue.get() send_msg=pycurl.Curl() send_msg.setopt(pycurl.URL,url) send_msg.perform() print send_msg.getinfo(send_msg.HTTP_CODE)
修改后長(zhǎng)連接版本如下:
采用requests庫
import requests client=requests.session() headers = {'Content-Type': 'application/json', 'Connection': 'keep-alive'} where True: url=myqueue.get() r=client.get(url,headers=headers) print r.status_code
以上這篇詳談python http長(zhǎng)連接客戶端就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python HTTP客戶端自定義Cookie實(shí)現(xiàn)實(shí)例
- 使用httplib模塊來制作Python下HTTP客戶端的方法
- 使用基于Python的Tornado框架的HTTP客戶端的教程
- 如何用python實(shí)現(xiàn)一個(gè)HTTP連接池
- Python Http請(qǐng)求json解析庫用法解析
- python3從網(wǎng)絡(luò)攝像機(jī)解析mjpeg http流的示例
- 基于Python模擬瀏覽器發(fā)送http請(qǐng)求
- Python requests HTTP驗(yàn)證登錄實(shí)現(xiàn)流程
- Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼
- 詳解用python -m http.server搭一個(gè)簡(jiǎn)易的本地局域網(wǎng)
- python用700行代碼實(shí)現(xiàn)http客戶端
相關(guān)文章
python實(shí)現(xiàn)socket+threading處理多連接的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)socket+threading處理多連接的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07使用django-guardian實(shí)現(xiàn)django-admin的行級(jí)權(quán)限控制的方法
這篇文章主要介紹了使用django-guardian實(shí)現(xiàn)django-admin的行級(jí)權(quán)限控制的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10pycharm 使用心得(九)解決No Python interpreter selected的問題
PyCharm 是由JetBrains打造的一款 Python IDE。具有智能代碼編輯器,能理解 Python 的特性并提供卓越的生產(chǎn)力推進(jìn)工具:自動(dòng)代碼格式化、代碼完成、重構(gòu)、自動(dòng)導(dǎo)入和一鍵代碼導(dǎo)航等。這些功能在先進(jìn)代碼分析程序的支持下,使 PyCharm 成為 Python 專業(yè)開發(fā)人員和剛起步人員使用的有力工具。2014-06-06如何通過Python3和ssl實(shí)現(xiàn)加密通信功能
這篇文章主要介紹了如何通過Python3和ssl實(shí)現(xiàn)加密通信功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python通過PIL獲取圖片主要顏色并和顏色庫進(jìn)行對(duì)比的方法
這篇文章主要介紹了Python通過PIL獲取圖片主要顏色并和顏色庫進(jìn)行對(duì)比的方法,實(shí)例分析了Python通過PIL模塊操作圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03python使用回溯算法實(shí)現(xiàn)列表全排列
這篇文章主要介紹了python使用回溯算法實(shí)現(xiàn)列表全排列,研究的問題是輸入列表L(不含重復(fù)元素),輸出L的全排列,全排列問題,可以用回溯法解決,需要的朋友可以參考下2023-11-11