问题标签 [warm-up]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
caching - 什么是预热缓存?
我正在使用一些多核模拟器,例如 GEMS 或 M5。在所有这些中,都有一个“预热缓存”的选项。这个词是什么意思?
java - 在 jar 启动时预加载 java 类/库?
在对服务器的第一次 RPC 调用期间发生超时,但 subsequest 请求成功。服务器响应超时,因为在第一次调用时它会加载处理请求所需的库。由于此延迟,一些客户端超时。尽管可以增加客户端的超时延迟,但我想尽量减少类加载对应用程序响应能力的影响。
您将如何预加载 Java 类文件,以便在.jar
首次运行应用程序文件时,类加载不会在第一次调用时引入延迟?
asp.net - 外部引用会减慢我的 ASP.NET 应用程序的速度吗?(VS:添加参考对话框)
我注意到随着我的网站变得越来越大,我的笔记本电脑显示我的页面所花费的时间比说一个引用最少的新项目要长得多。
我认为有两个变量会影响 ASP.NET 的预热时间:
- 外部参考的数量
new()
工作进程为每个工作进程启动每个实例所需的时间- WCF 对象的额外时间,因为 ServiceHost 可能位于外部 DLL 中
首先,在考虑 ASP.NET 启动时间时,这些变量是否正确?
接下来,web.config 似乎可以调度其他对象以用于某些文件类型(*.svc、*.aspx、Windows Identity Foundation (WIF) 等)。这也可能导致 ASP.NET 延迟。
最后,我的项目被创建为“网络项目”而不是“网站”。不确定这是否有影响。
我的理论是否充满漏洞,或者我可以做些什么来使旧笔记本电脑的开发变得更好?
mysql - 如何使用 MySQL 将表预加载到 INNODB 缓冲池中?
我有一个使用 MySQL 的电子商务应用程序,我希望它更快。当在之前访问过的网站上访问某个部分 # 时,该部分加载速度很快,因为所有必要的数据都已经在 INNODB 缓冲池中。但是,如果之前从未加载过 # 部分,则该数据尚未在缓冲池中,因此需要从磁盘读取,这很慢。我将我的 INNODB 缓冲池设置为 2GB,而整个数据库只有 350MB 左右,所以缓冲池中有足够的空间来加载整个数据库。我可以从 INNODB 统计数据中看到,现在只有大约一半的缓冲池被使用。
我发现了对预加载数据的引用,也称为“预热”缓冲池,例如Quickly preloading Innodb tables in the buffer pool或 mysqldump.azundris.com/archives/70-Innodb-cache-preloading-使用-blackhole.html。该策略基本上涉及强制对每个表进行表扫描,因为 MySQL 没有预加载数据的本地方式。
我不想手动创建一个脚本来列出我的数据库中的每个表并且必须这样做。如何创建一个脚本,该脚本自动执行并为每个表进行选择,并自动选择一个非索引列以便执行表扫描?
asp.net-mvc - 将代码发布到 azure 的性能影响
好吧,这是一个非常不科学的问题。提前抱歉。你们中的任何人使用 Windows azure(最好是 SQL Azure 数据库)在发布(或升级)代码后发现真正随机的性能问题?
我所看到的甚至可能在发布后长达 24 小时。这只是一般的延迟。http(s) 请求需要很长时间才能返回(30 秒 - 1 分钟),但下次调用相同的请求时可能会在几毫秒内返回。
看起来很随意。当我发布代码以 azure 什么都需要改变?负载平衡、DNS 缓存、IP 地址等...所有这些网络层更改的传播是否会导致我的问题?
顺便说一句,在几乎所有情况下,我都会升级登台环境,然后将 VIP 切换到生产环境。
iis - 如何确认应用程序预热插件是否有效?
我有一个使用 WCF 服务的 Web 应用程序。IIS 重置或应用程序池回收后,两者的预热速度都很慢。因此,作为一个可能的解决方案,我为 IIS 7.5 安装了 Application Warm-Up 并为网站和 wcf 服务设置了它。我担心的是,它似乎没有任何区别——我第一次访问该站点时,仍然需要很长时间才能启动它。我检查了事件日志,没有错误。所以我想知道是否需要为该模块工作做任何特别的事情。
asp.net - 避免 IIS 中的应用程序池预热
我遇到了一个 ASP.net 站点(框架 3.5,IIS6)的问题,该站点的“首次点击”响应时间非常慢。我猜这个问题与应用程序池回收和必须预热有关。
我开始思考。作为该站点的一部分,我有一个 HTTP 模块,它在一个单独的线程上启动一个“永无止境的循环”,该线程定期(每 5 秒)在 SQL 上调用一个存储过程,以确保数据库仍然存在。我想知道类似的方法是否可以使站点向“自身”发出 HTTP 请求作为保持活动状态。
我的问题是,在我去做这件事之前,谁能想到它不起作用的任何原因?例如,像“哦,不...... ASP.Net 会发现你是在玩自己,而不是经历整个页面生命周期......等等”。
java - 在多线程处理中真正“热身”线程是什么?
我正在处理 Java 中的多线程,正如有人向我指出的那样,我注意到线程会升温,也就是说,它们会随着重复执行而变得更快。我想了解为什么会发生这种情况,以及它是否与 Java 本身有关,或者它是否是每个多线程程序的常见行为。
示例代码(由 Peter Lawrey 编写)如下:
结果:
即它变得更快并稳定在 50 ns 左右。这是为什么?
如果我运行此代码(20 次重复),然后执行其他操作(假设对先前结果进行后处理并为另一轮多线程做准备),然后在相同Runnable
的情况ThreadPool
下再执行 20 次重复,它将已经预热,在任何情况?
在我的程序中,我Runnable
只在一个线程中执行(实际上每个处理核心一个,它是一个 CPU 密集型程序),然后交替执行其他一些串行处理多次。随着程序的进行,它似乎并没有变得更快。也许我可以找到一种方法来加热它……</p>
asp.net - 在共享主机上保持 ASP.NET4.0 页面温暖
我在共享托管环境中部署了一个(尚未)很少访问的页面。目前,我的访客数量非常少,例如每天 1 个访客。
看起来 IIS 7.0 在空闲时间过长后“丢弃”了我的站点。在此之后的第一个页面加载需要 30 秒或更长时间。由于访问量很少,实际上我所有的访问者都为 site-startup 付费。(恢复网站后,页面加载正常为 1-3 秒。)
我知道 ASP.NET4.0 和 IIS7.5 的应用程序预热功能,但是由于给定的共享主机环境,我无法使用它们。
我怎样才能让我的网站人为地活着?
php - 在 PHP 应用程序中加速 MySQL InnoDB 查询
我的 PHP/MySQL 应用程序中的以下代码存在一些问题。它运行良好,大约需要 3-4 秒,但第一次执行(每个会话)大约需要2 分钟。我认为是因为有一些自动缓存机制。有没有一种方法可以加快第一次执行?我在这个 MySQL 服务器上获得了 root 访问权限,但我无法修改数据库结构。
该应用程序在此处可见http://hotel.crosstourpoint.eu/,慢速脚本是http://hotel.crosstourpoint.eu/ajax/html_hotel_details.php。要查看它,请在主框中搜索一些内容。示例:输入“Milano”并单击“Cerca”,单击选项“Milano”,选择开始日期和结束日期(“Giorno di arrivo - Giorno di partenza”)并再次单击“Cerca”。信息 (I) 图标打开带有 ajax 调用的慢速脚本。
谢谢。
代码
表结构
酒店:约 50.000 行
HOTELS_DESCRIPTIONS 约 600.000 行
HOTELS_IMAGES:大约 180.000 行
附加信息(编辑):
Ubuntu 64bit 8.04.2 Linux 主机名
2.6.24-23-server #1 SMP Wed Apr 1 22:14:30 UTC 2009 x86_64 GNU/Linux
mysql Ver 14.12 Distrib 5.0.51a,适用于使用 readline 5.2 的 debian-linux-gnu (x86_64)
innodb_buffer_pool_size 512
解释: