亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

記錄一下使用Laravel-s抵御百度爬蟲的經歷

發布時間:2021-03-11 14:05:28 來源:億速云 閱讀:209 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關記錄一下使用Laravel-s抵御百度爬蟲的經歷的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

下面由Laravel教程欄目給大家記錄一下使用Laravel-s抵御百度爬蟲的經歷,希望對需要的朋友有所幫助!

記錄一下使用Laravel-s抵御百度爬蟲的經歷

什么是 Laravel-s

LaravelS是一個膠水項目,用于快速集成Swoole到Laravel或Lumen,賦予它們更好的性能
github地址

為什么用 Laravel-s

百度小程序上線后,百度爬蟲過高的 qps(并發) 導致 cpu 滿載,服務器宕機,服務器配置4核8G內存5M寬帶。這時候怎么辦?

  • 調整 php-fpm 參數,設置為靜態,靜態模式對比動態模式性能更高。比如設置子進程數量255甚至更高,越高承受的并發量越大,但越高占用內存越大。結論,一定程度上有效果,但高并發下無用。

  • 反饋百度調整爬蟲抓取頻率。結論,等吧,黃花菜都涼了,但還是反饋下比較好。

  • 負載均衡。讓其他服務器分擔壓力,前提是有足夠的服務器,且都要部署相同的代碼,且不能影響其他服務器本來職責的業務。或者在某云臨時申請N臺服務器,但你不知道爬蟲什么時間來,什么時間去,不現實。

  • 接下來就是文章的主題,用 Laravel-s 加速 http 響應。

Laravel-s 究竟起到多少加速效果

由于當時沒有統計所有時段 qps 具體值,所以沒辦法得出準確的結論,只能根據調整前后的機器負載做對比。

部署前,cpu滿載,機器宕機N次,癱瘓狀態。外網出寬帶占滿(5M),部署后cpu立即降到20+, 臨時升級寬帶15M后,cpu達到 60%,外網寬帶仍被占滿(只能說百度爬蟲是真作啊,多少寬帶你就來多少啊)。結論,至少帶來5倍的性能提升。

具體部署

爬蟲所爬取的頁面只是一部分,所以并不是將線上項目改造成laravel-s,也不現實。我們只需要將爬取的頁面分離出來,單獨部署到laravel-s

  • 新建空項目,業務邏輯只處理抓取的頁面api,項目端口號如 6501

  • 部署 laravel-s ,測試api 及 ab壓測

  • 線上項目將爬蟲爬取的頁面路徑代理到新建項目,如127.0.0.1:6501

location ~ ^/v1/test.* {
 proxy_pass http://127.0.0.1:6501;
 proxy_set_header Host $host;}

注意的幾點:

  • conf/laravels.php 中,默認開啟 worker 數量是 cpu 核數的兩倍。

  • laravles 是運行在 swoole ,在內存中,每次更改代碼,需重啟 laravel-s

  • 由于第2條的原因,數據庫連接得不到釋放,需開啟 laravel 的斷開重連(>laravle5.1)。在 conf/database.phpmysql配置中添加

'options'   => [
 // 開啟持久連接
 \PDO::ATTR_PERSISTENT => true,],

感謝各位的閱讀!關于“記錄一下使用Laravel-s抵御百度爬蟲的經歷”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆城县| 航空| 上虞市| 东港市| 九龙县| 保靖县| 荣成市| 鸡东县| 宜君县| 华安县| 中阳县| 同德县| 黄浦区| 灵川县| 高邑县| 浠水县| 连山| 登封市| 山阳县| 依安县| 电白县| 板桥市| 长岭县| 高阳县| 石台县| 玉龙| 延津县| 阜城县| 清流县| 辰溪县| 澄江县| 措美县| 原平市| 元朗区| 马关县| 象山县| 望奎县| 南投县| 海伦市| 汉阴县| 夏邑县|