- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在与 Undertow 合作,我的目标是使用 AWS 实例获得最大吞吐量。
我面临的问题是:
当我使用一个线程数 = 1000 的实例时,我得到的吞吐量为 9900。当我使用两个线程数 = 1000(每个)的实例时,我获得的吞吐量为 9800。
我想到的方法之一是在创建服务器时增加线程数。
这是我得到的错误:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.io.IOException: Too many open files
at io.undertow.Undertow.start(Undertow.java:141)
at testProject.testArtifact.ServerConnection.createServer(ServerConnection.java:63)
at testProject.testArtifact.App.main(App.java:20)
... 6 more
Caused by: java.io.IOException: Too many open files
at sun.nio.ch.IOUtil.makePipe(Native Method)
at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:65)
at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36)
at org.xnio.nio.NioXnio$DefaultSelectorCreator.open(NioXnio.java:245)
at org.xnio.nio.NioXnioWorker.<init>(NioXnioWorker.java:93)
at org.xnio.nio.NioXnio.createWorker(NioXnio.java:203)
at org.xnio.Xnio.createWorker(Xnio.java:437)
at org.xnio.Xnio.createWorker(Xnio.java:424)
at io.undertow.Undertow.start(Undertow.java:84)
... 8 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.938 s
[INFO] Finished at: 2014-10-24T17:31:59+00:00
[INFO] Final Memory: 9M/142M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java (default-cli) on project testArtifact: An exception occured while executing the Java class. null: InvocationTargetException: java.io.IOException: Too many open files -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java (default-cli) on project testArtifact: An exception occured while executing the Java class. null
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. null
at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:345)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.io.IOException: Too many open files
at io.undertow.Undertow.start(Undertow.java:141)
at testProject.testArtifact.ServerConnection.createServer(ServerConnection.java:63)
at testProject.testArtifact.App.main(App.java:20)
... 6 more
Caused by: java.io.IOException: Too many open files
at sun.nio.ch.IOUtil.makePipe(Native Method)
at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:65)
at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36)
at org.xnio.nio.NioXnio$DefaultSelectorCreator.open(NioXnio.java:245)
at org.xnio.nio.NioXnioWorker.<init>(NioXnioWorker.java:93)
at org.xnio.nio.NioXnio.createWorker(NioXnio.java:203)
at org.xnio.Xnio.createWorker(Xnio.java:437)
at org.xnio.Xnio.createWorker(Xnio.java:424)
at io.undertow.Undertow.start(Undertow.java:84)
... 8 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
如何提高我的案例的吞吐量。
当我尝试使用线程 > 1000 时,无法解决该问题
任何帮助都会非常有帮助。
谢谢。
最佳答案
您需要增加操作系统上打开文件的数量。在Linux上,这通常在limits.conf/limits.d中配置
关于java - 增加 Undertow 服务器中的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553348/
最近我的 Undertow 应用程序触发 Cloud Run 报告以下内容: Container Sandbox Limitation: Unsupported syscall setsockopt(
要使用 undertow 作为代理服务器来跟踪所有流量(调试目的所需),我目前使用的代码片段如下: Undertow.builder() .addHttpListener(8080, null
当我访问我的网络服务器时,我使用 ResourceHandler 来提供 javascript 文件。现在的问题是,我想提供完全相同的 JavaScript,但在我的 url 中接受/{id},这样当
我正在使用 undertow 开发一个 web 应用程序,并且对 java 相当陌生。运行 ServeletEngine.java 时出现错误。我检查了其他相关帖子,但他们没有解决我的疑问。请帮我。
有没有关于undertow.routing模板格式的文档?我想像这样设置处理程序: / or /index.html -> Use handler 1 Anything else -> Use han
本文整理了Java中io.undertow.server.XnioBufferPoolAdaptor类的一些代码示例,展示了XnioBufferPoolAdaptor类的具体用法。这些代码示例主要来源
本文整理了Java中io.undertow.server.XnioByteBufferPool类的一些代码示例,展示了XnioByteBufferPool类的具体用法。这些代码示例主要来源于Githu
我们目前正在调整使用 undertow 的服务,但找不到以下属性的默认值: server.undertow.worker-threads server.undertow.io-threads 我们了解
我有一个使用各种依赖项的应用程序。这些依赖项都使用了一堆乱七八糟的日志框架。由于我不希望任何库进行任何类型的日志记录,因此我有一个小程序试图将其全部禁用。 这已经运行了一段时间,但最近由于一些不为人知
我正在尝试使用 undertow.io 启动一个简单的 api 服务器API。这是我的启动代码。 this.server = Undertow.builder().addHttpListener(th
我的要求是提供“index.html”,无论请求中设置什么路由。我已经引用了Routing template format for undertow但无济于事。这似乎对人们有用。处理程序看起来像 Pa
我有一个简单的示例,其中我实现了一个访问日志处理程序。它确实记录到控制台。如何配置记录器记录到指定文件? package com.zetcode; import io.undertow.Underto
如 separate question 中所述,当使用Undertow时,所有处理都应该在专用的Worker线程池中完成,如下所示: public class Start { public sta
public class HelloWorldServer { public static void main(final String[] args) { Undertow
我正在尝试提供一个简单的“Hello world!”使用 Undertow 嵌入式服务器通过 HTTPS 使用自签名证书进行响应。但是,我在客户端 (Chrome) 上得到了 ERR_SSL_VERS
我有一个运行嵌入式 Undertow 的 Web 服务,一些处理程序利用常见的 Undertow 模式将请求卸载到工作线程: if (exchange.isInIoThread()) { ex
在 undertow documentation site 上列出的示例中,它展示了如何配置 2 个 servlet 及其映射。但我找不到如何配置默认 Servlet 以允许目录列表和资源服务。 De
我创建了一个网络服务器,允许我的网站通过 API 访问我的游戏数据。我的网络服务器看起来像这样(我正在使用 me.apachenick 框架) public class WebServer {
我正在与 Undertow 合作,我的目标是使用 AWS 实例获得最大吞吐量。 我面临的问题是: 当我使用一个线程数 = 1000 的实例时,我得到的吞吐量为 9900。当我使用两个线程数 = 100
根据the spec Undertow 有一个很好的基于文本的配置。 但是,我没有看到任何如何使用此类配置启动 Undertow 的示例代码。 如何使用 Undertow.builder()... 构
我是一名优秀的程序员,十分优秀!