有没有办法确定理想的线程数? [复制]

2023-11-21

我正在做一个网络爬虫并使用线程来下载页面。

我的程序性能的第一个限制因素是带宽,我永远无法下载它可以获得的更多页面。

第二件事是我感兴趣的。我使用线程同时下载许多页面,但是当我创建更多线程时,会发生更多的处理器共享。是否有一些测试指标/方式/类别来确定理想的线程数,或者在达到一定数量后,性能不会改变或降低?


我们开发了一个多线程并行网络爬虫。对吞吐量进行基准测试是了解这头野兽如何处理其工作的最佳方式。对于专用的 java 服务器,每个核心一个线程是启动的基础,然后 I/O 开始发挥作用并发生变化。

在一定数量的线程之后,性能确实会下降。但这也取决于您抓取的网站、您使用的操作系统等。尝试找到一个响应时间恒定的网站来进行您的第一个基准测试(例如Google,但采用不同的服务)

对于速度较慢的网站,更多的线程数往往可以补偿 I/O 阻塞

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法确定理想的线程数? [复制] 的相关文章

随机推荐

  • 什么是“结构黑客”和“类型/非类型隐藏”?

    我在参考参数 在范围内查找名称会找到该名称的所有声明 但有一个例外 称为 struct hack 或 类型 非类型隐藏 在同一范围内 名称的某些出现可能引用声明的一个class struct union enum那不是一个typedef 而
  • java中整数数组的优先级队列

    我想按数组 0 30 5 10 15 20 的第二个元素进行比较 PriorityQueue
  • Swift 3 中的 NSNotifications

    新通知目前在 Swift 3 中不起作用吗 我在做 NotificationCenter default post name DidTouchParticleView object self particle as AnyObject 在自
  • 为什么 NSManagedObjectContext 队列在主线程上执行?

    当我发送一个performBlock给我的 MOC 类型的消息NSPrivateQueueConcurrencyType 像这样 self privateManagedObjectContext performBlockAndWait if
  • 如何在Fragment内的WebView中添加“返回”功能?

    更新 解决了 问题与我的 Viewpager 有关 而不是与 WebView 有关 我正在尝试向我的应用程序添加 返回 功能WebView这是在一个Fragment 但我不知道如何 public final class TestFragme
  • 默认模型绑定器的 MVC 本地化

    我目前正在尝试找出如何本地化 MVC 生成的错误消息 让我使用默认的模型绑定器作为示例 以便我可以解释问题 假设我有一个表单 用户可以在其中输入他们的年龄 然后用户在表单中输入 十 但没有得到预期的错误 年龄必须在 18 岁至 25 岁之间
  • Spring security自定义AuthenticationException消息

    您好 我需要在 Spring 安全登录表单中添加一个新的异常 除了我想要自己的错误消息 到目前为止它显示 错误的登录 密码 之外 一切都运行良好 我已覆盖用户名密码身份验证过滤器中的默认尝试身份验证方法 Override public Au
  • 从 firestore 获取数据时使用 async forEach 循环

    我的 firestore 数据有点像这样 Support userid abcdxyz message hello 我正在使用 nodejs 来获取我的数据 我还想显示发送此消息的人的电子邮件地址和姓名 所以我正在使用以下函数 databa
  • 未解决的外部噩梦

    各位行业资深人士 大家好 我是一名大三学生 即将开始我的第一次暑期编程实习 但我的能力已经超出了我的能力范围 我工作的公司从另一家公司购买了一个庞大的应用程序 该公司自 90 年代初以来一直在慢慢扩展和修改它 该解决方案包含超过 200 0
  • Java GUI 中的旋转方形面板

    我想知道是否可以实现一个方形但旋转 90 度的 GUI 面板 可能是 JPanel 显然 将有一个包含此面板的顶级容器 并且从视觉上看 主面板就是其中的旋转方形面板 更具体地说 我会将一个面板 称为 A 分成 4 个相等的方形子面板 并用
  • 智能手机网页设计 - 像素大小

    我需要有人帮助澄清我对高密度屏幕新手机像素大小的理解 从那时起 它就给我的网页设计带来了麻烦 我对智能手机的最初理解是像素尺寸大约为 480 x 320 这使得设计变得容易 因为像素仍然是相同的像素 然而 一些智能手机比这个多一倍 或更多
  • 如何“平滑”数据并计算线梯度?

    我正在从测量距离的设备读取数据 我的采样率很高 因此我可以测量距离 即速度 的较大变化 但这意味着 当速度较低时 设备会提供许多相同的测量结果 由于设备的粒度 这会产生 阶梯式 曲线 我需要做的是平滑曲线以计算速度 接下来我需要计算加速度
  • 如何使用Java代码将图像权限模式更改为777?

    我想使用Java代码为图像文件赋予权限模式值 777 我怎样才能用Java给出这个呢 因为我无法删除默认权限模式 664 的图像 您可以使用 exec 方法运行外部命令来执行 chmod Runtime getRuntime exec ch
  • 单个 Jekyll 网站中的多个博客

    有没有一种方法可以让一个 Jekyll 网站拥有多个博客 我目前想在一个网站上拥有两个博客 我是该页面的作者http www garron me blog multi blog site jekyll html 考虑到您需要单独的档案页面以
  • 从 ASP.NET 生成 Word 文档的最佳解决方案是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想从我的 ASP NET 应用程序生成一个 Word 文档 目前我们显示 议程列表 其中包含议程信息和所有项目 主题 该页面需要能够在word中打
  • $(window).scroll(function() 在 Firefox 上不起作用?

    为了像 facebook 或 twitter 在其网站上那样加载页面 向下滚动 我用 jquery 尝试过 window scroll function if window scrollTop document height window
  • 传输编码:Windows Phone 中的分块

    我有一个带有 Transfer Encoding chunked 的服务器响应 HTTP 1 1 200 OK Server nginx 1 2 1 Date Mon 18 Feb 2013 08 22 49 GMT Content Typ
  • 如何合并两个不同的 Git 存储库?

    我有两个 Github 存储库 一个存储库位于远程服务器上 另一个存储库位于本地服务器上 它们都有不同文件和文件夹的不同提交历史记录 现在我想合并它们 以便我可以将它们作为一个存储库放在远程服务器上 请帮忙 我寻找了各种解决方案 建议如下
  • JS Promise - 立即从返回 Promise 的函数中检索一些数据

    谁能推荐一种从返回 Promise 的函数中立即检索数据的模式 我的 简化的 示例是 AJAX 预加载器 loadPage index html then displayPage 如果这是下载一个大页面 我希望能够检查正在发生的情况 并可能
  • 有没有办法确定理想的线程数? [复制]

    这个问题在这里已经有答案了 我正在做一个网络爬虫并使用线程来下载页面 我的程序性能的第一个限制因素是带宽 我永远无法下载它可以获得的更多页面 第二件事是我感兴趣的 我使用线程同时下载许多页面 但是当我创建更多线程时 会发生更多的处理器共享