Fuseki - настройка сервера

Я хотел бы сделать эталонный тест, чтобы сравнить показатели между различными тройными магазинами.

В этом случае я использую Fuseki Server. Я хотел бы ограничить оперативную память и количество используемых потоков. Я хотел бы запустить fuseki-сервер из командной строки.

Я знаю, как ограничить ОЗУ: я могу ограничить максимально допустимую память кучи, набрав в командной строке -Xmx4G (в этом случае я ограничиваю ее до 4 ГБ). Я думаю, что я также знаю, как ограничить количество потоков: мне просто нужно поместить в каталог Fuseki-server файл xml (в данном случае называется jetty.xml), как это объясняется здесь: файл xml.

Так что из командной строки я бегу

java -Xmx4G -jar fuseki-server.jar --jetty-config=jetty.xml

и я получаю следующую ошибку

[2015-10-08 08:56:22] Информация о сервере Файл конфигурации сервера Jetty = jetty.xml [2015-10-08 08:56:22] XmlConfiguration ПРЕДУПРЕЖДЕНИЕ Ошибка конфигурации в name = "addConnector">

 <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"><Set >name="port">3030</Set><Set name="maxIdleTime">0</Set><Set >name="requestHeaderSize">65536</Set><Set >name="requestBufferSize">5242880</Set><Set >name="responseBufferSize">5242880</Set></New>

[2015-10-08 08:56:22] ОШИБКА сервера SPARQLServer: Не удалось настроить> сервер: org.eclipse.jetty.server.nio.SelectChannelConnector java.lang.ClassNotFoundException: >org.eclipse.jetty.server.nio.SelectChannelConnector в java.net.URLClassLoader.findClass(неизвестный источник) в java.lang.ClassLoader.loadClass(неизвестный источник) в sun.misc.Launcher$AppClassLoader.loadClass(неизвестный источник) в java.lang.ClassLoader.loadClass(неизвестный источник) в org.eclipse.jetty.util.Loader.loadClass(Loader.java:86) в org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:364) в org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:754) в org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1125) в org.eclipse.jettyConfiguration.jettyConf. Java:1030) в org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:721) в org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:417) в org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:298) в org.eclipf..ml.jet настроить (XmlConfiguration.java:248) на org.apache.jena.fuseki.jetty.JettyFuseki.configServer(JettyFuseki.java:266) на org.apache.jena.fuseki.jetty.JettyFuseki.buildServerWebapp(JettyFuseki22): в org.apache.jena.fuseki.jetty.JettyFuseki.(JettyFuseki.java:92) в org.apache.jena.fuseki.jetty.JettyFuseki.initializeServer(JettyFuseki.java:87) в>org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:330) в arq.cmdline.CmdMain.mainMethod(CmdMain.java:102) в arq.cmdline.CmdMain.mainRun(CmdMain.java.63) в) CmdMain.mainRun(CmdMain.java:50) в>org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:>97) в org.apache.jena.fuseki.cmd.FusekiCd FusekiCmd.java:60) org.apache.jena.fuseki.FusekiException: F может настроить сервер с помощью> файла конфигурации 'jetty.xml' в>org.apache.jena.fuseki.jetty.JettyFuseki.configServer(JettyFuseki.java:270) в>org.apache.jena.fuseki.jetty.JettyFuseki.buildServerWebapp(JettyFuseki.java:2>23) в org.apache.jena.fuseki.jetty.JettyFuseki.>(JettyFuseki.java:92) в>org.apache.jena.fuseki.jetty.JettyFuseki.initializeServer(JettyFuseki.java:8>7) at >org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:330) в arq.cmdline.CmdMain.mainMethod(CmdMain.java:102) в arq.cmdline.C.mainRun(CmdMain.java:63) в arq.cmdline.CmdMain.mainRun(CmdMain.java:50) в org.apache.jena.fuseki.cmd.FusekiCmd $ FusekiCmdInner.innerMain (FusekiCmd.java. 97) в apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:60)

Как вы думаете, я пропускаю какой-то урок в классе? И куда мне их добавить?

Заранее спасибо. Я прошу прощения за мой плохой стиль форматирования, но я не привык задавать вопросы. Если вы скажете мне, как его улучшить, я сделаю это.

1 ответ

Это похоже на Fuseki2, который использует Jetty9. SelectChannelConnector для Jetty8 (как используется Fuseki1). Jetty8 и Jetty9 довольно разные в этой области. Смотрите документацию к Jetty9.

-Xmx4G вероятно, замедлит работу Fuseki и не ограничит объем оперативной памяти. TDB использует файлы, отображенные в памяти, и они не занимают места в куче. Более того, захват кучи занимает место в кеше файлов, отображаемых в памяти операционной системы.

Другие вопросы по тегам