- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码,在这里缩写:
public final void doPost(HttpServletRequest request,
HttpServletResponse response) {
int itemCount = itemsToGetFromCache.size();
ExecutorService service = null;
List<Future<?>> futures = null;
service = Executors.newFixedThreadPool(itemCount);
futures = new ArrayList<Future<?>>();
for (int i=0; i<itemCount; i++)
{
final int j = i;
Future<?> f = service.submit(new Callable<Void>() {
@Override
public Void call() throws Exception {
getItemFromRemoteCacheIfAvailableAndStoreInMemory(itemsToGetFromCache(j));
return null;
}});
futures.add(f);
}
// wait for all tasks to complete before continuing
for (Future<?> f : futures)
{
try {
f.get();
} catch (Exception e) {
//handle exception
}
}
}
它在 Tomcat 7 中运行。典型的项目大小为 30,典型的并发用户数为 200。有人警告说这可能会导致服务器线程达到极限并拒绝连接。请注意,对删除缓存的调用通常会很简短,大约需要 60 毫秒。
基本上,我只是试图通过并行运行它们来加快对缓存的调用。如果结果不在缓存中,它们将从数据库中提取并随后缓存。
这里有问题吗?我不认为服务器连接池大小与服务器以这种方式生成它们时可以处理的最大线程数有关。我的假设是否正确?还有其他问题吗?
最佳答案
您应该避免为每个请求创建线程池。相反,您可以使用公共(public)线程池。
同样,由于严格的线程上下文切换,6000(200*30)
线程实际上可能会降低性能。
10
线程的性能优于 6000
线程。您可以使用多少人线程取决于各种因素,例如:
对于Ex,如果数据库连接等正在执行的代码中没有I/O阻塞,那么线程数必须与核心数相同。如果有一定数量的阻塞,您应该测量当某些线程被阻塞时您可以拥有多少线程来保持 CPU 忙碌。
很难猜测要使用多少个线程。您必须衡量程序在各种线程池大小下的执行情况。无论是 10、100 还是 200。使其可配置。当然,有很多线程是不好的。
关于java - servlet中多线程调用缓存是否存在线程耗尽风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31327134/
我有一个 Magento 网站,其中似乎没有出现交叉销售产品。 在查看 Stack 和 Google 之后,似乎“重新索引数据”已经为很多人解决了这个问题。 我的问题是,执行此任务是否有任何风险?或者
为了避免在某些简单命令中使用括号,我编写了以下运算符以创建新的图形窗口。我的问题是:除了明显无法在我的变量“ newdev”上执行“ not”功能之外,我是否有“破坏” R中任何内容的风险? # fu
你好 我正在开发一个联系表格。我正在使用邮件功能将其通过电子邮件发送给网站管理员。 是否存在有人可以注入(inject)恶意 javascript 和任何其他注入(inject)攻击的风险? $to
我想知道在 Objective C 中将消息传递给 nil 对象不会执行任何操作,这样依赖是否存在任何风险。 在我的代码中,我有很多对 UIKit 和其他对象的弱引用,这些引用可能随时被清除。由于我来
我被指派修复遗留代码的安全问题,并获得了安全扫描的结果: Poor Error Handling: Server Error Message ( 10932 ) 基本上,当扫描尝试使用一些奇怪的代码进
我有一个匿名类,在创建时需要使用自引用。我的业务代码可以简化为如下代码,我知道这段代码: final Runnable runnable=new Runnable() { @Override
有几个基类是我无法控制的:- class BaseNode // Just a POD class. No VTable { void foo(); } class BaseHost { publ
这个问题已经有答案了: Do I have to guard against SQL injection if I used a dropdown? (11 个回答) 已关闭 7 年前。 我希望我的网
这是根据用户提供的输入创建表的简单过程: PROCEDURE `hackProcedure`( IN tab_name VARCHAR(63)) BEGIN IF (tab_name REGEXP '
我知道在您的网站上显示用户输入时,使用 php 中的 htmlentities() 之类的函数来清理用户输入很有用。但是这样的事情会带来 XSS 风险吗? " /> 像这样清理输入会更好吗? " />
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
谁能阐明图表上曲线的含义、阴影区域的含义以及轴的含义? 最佳答案 这是对风险随时间变化的预测。在 NCrunch wiki 中有一些文档对此进行了描述:http://wiki.ncrunch.net/
我有一个包含 200 万条记录的集合,如果可能的话,我希望在不停机的情况下在其上添加单个字段索引。 我的问题是:是否可以/需要备份集合?使用 azure 门户创建索引在后台运行它而不会造成任何服务停机
我正在使用Symfony2并使用 CSRF token 保护我的表单。 我有一个基于 Ajax 调用的评论系统。如果用户想要编辑他的评论,则会发生以下情况: 用户点击编辑按钮。 通过 ajax 加载“
Checkmark 扫描了我们的代码并显示这些代码存在二阶注入(inject)的风险像这样的代码 @SuppressWarnings("unchecked") public List> findByS
我有一个包含几百行的小型 MySQL 数据库(全部为文本,无图像)。我正在使用 iQuery 请求所有行并在客户端进行所有过滤。 iQuery 代码如下: $(document).ready( fun
如果我的网站只允许用户查看他们自己提交的数据,而永远不允许其他用户提交的数据(即没有一般的“帖子”等)——那么我的网站是否真的存在 XSS 风险? 我仍将致力于 XSS 解决方案(如 httmlspe
我正在构建一个 iframe,而不是 innerHTML , 但带有 createElement .. 我使用了两个不受信任的字符串: iframeEl.title = untrustedStr1;
我正在生成如下动态prepareStatement(字段可能会根据请求输入而变化)。 Veracode 扫描持续报告 SQL 注入(inject)风险 - CWE-89:SQL 命令中使用的特殊元素的
我有一个可以在英语和德语之间切换语言的应用程序。当使用德语时,我希望货币显示将自动转换为德语格式。因此,在我的程序中,我必须检查区域设置,然后根据所选语言转换货币。我选择使用 locale.setDe
我是一名优秀的程序员,十分优秀!