记录一下使用Laravel-s抵御百度爬虫的经历
下面由laravel/" target="_blank">Laravel教程栏目给大家记录一下使用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;}
- AI撰写稿子:颠覆传统写作方式···
- ChatGPT网页版Poe:开···
- 免费AI文章生成器:让写作轻松···
- 2024年AI写作神器推荐!
- 深圳百度快推,精准触达客户
- 小红书如何快速找到合适的服装搭···
- 网站高效运营之道
- Linux中查找DHCP包的有···
- 惠州SEO顾问:提升网站排名的···
- 阿里巴巴提供的建站工具对SEO···
- 全网营销推广没效果可能是因为几···
- 优化师:精准调优,提升效率
- 免费建站平台推荐:一键域名解析···
- 陕考网——人事考试信息门户
- CSS会阻止解析和渲染吗?详细···
- 随职院教务,便捷高效学习平台
- 如何高效的使用ThinkPHP···
- 淄博SEO专家团队
- 云网推广,高效触达!
- 珠海SEO如何报价?详细解析S···
- 新网模板建站教程:零基础快速搭···
- 西安网站管家,专业维护,高效无···
- 高质量性价比SEO软文批量生成···
- 昆明专业网站建设专家
- Linux内核主函数的作用及执···
- AI智能写作助手:赋能创作,助···
- SEO关键词优化,企业营销新引···
- 搜索留痕收录工具:提升网站曝光···
- 选择VPS批量建站工具时需要注···
- 如何利用高斯公式计算曲面x²+···
- 开展网络营销的基本程序
- 如何解决centos中ftp查···
- linux系统时间怎么获取
- 如何快速定位并找到网站服务器?
- 外贸SEO:开启全球电商的新机···
- HTML阴影效果对性能有影响吗
- SEO资料站:全面解析与优化策···
- 网站守护者,实时护航
- win10如何开启卓越性能模式
- 2021,心路历程,感悟人生
- 广告擦边被罚,椰树强势回应:“···
- AI写作工具哪个好用?全方位解···
- 淘宝评论刷改可行吗?
- SEO如何引流:利用搜索引擎优···
- 生成AI文章:内容创作新时代的···
- 在国际VPS上部署外贸网站的安···
- 天宁SEO,高效优化专家
- SEO收录速查工具
- Monkey建站支持哪些支付网···
- 如何从网页爬取数据,轻松获取海···