我有一个 R Shiny 应用程序,我想使用开源解决方案托管它以支持大约 50 个并发用户。我遇到了 RStudio 的 Shinyserver,它可用于将闪亮的应用程序部署到网络。我想使用shinyserver的开源版本。
文档说我们可以使用简单的调度程序来定义并发连接数。
Simple Scheduler 是 Shiny Server 开源版本中唯一可用的调度程序。它将单个 R 进程与单个 Shiny 应用程序相关联。此调度程序接受一个参数,该参数指定最大并发会话数。一旦达到此数字,尝试在此应用程序上创建新会话的用户将收到 503 错误页面。
简单调度程序的文档说,
simple_scheduler 一个基本的调度程序,它将为每个应用程序生成一个单线程 R 工作线程。如果未指定调度程序,则这是默认调度程序。
它说开源 Shinyserver 支持单个 R 进程,但同时它提到每个应用程序将有 1 个单线程 R 工作线程。那么如果我想为 1 个应用程序支持 50 个并发用户,我该如何实现呢?我是否需要在同一台服务器上创建应用程序的 50 个实例,还是由 50 个工作线程为应用程序的一个实例提供服务?
另外提到的默认并发连接数是 100。最大是多少?
有人可以解释一下我们该怎么做吗?
我已将 android 应用程序设置为使用材料主题
<style name="AppTheme" parent="AppTheme.Base"></style>
<style name="AppTheme.Base" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:textColorSecondary">@android:color/white</item>
<item name="android:textColorHint">@android:color/darker_gray</item>
<item name="searchViewStyle">@style/SearchViewStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在我的活动/片段中,我试图调用材料警报对话框
new MaterialAlertDialogBuilder(mAppContext)
.setTitle("Title")
.setMessage("Message")
.setPositiveButton("Ok", null)
.show();
Run Code Online (Sandbox Code Playgroud)
在运行时,这会引发以下 IllegalArgumentException 异常
java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant).
at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:240)
at com.google.android.material.internal.ThemeEnforcement.checkAppCompatTheme(ThemeEnforcement.java:211)
at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:146)
at com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:78)
at com.google.android.material.dialog.MaterialDialogs.getDialogBackgroundInsets(MaterialDialogs.java:55)
at com.google.android.material.dialog.MaterialAlertDialogBuilder.<init>(MaterialAlertDialogBuilder.java:116)
at com.google.android.material.dialog.MaterialAlertDialogBuilder.<init>(MaterialAlertDialogBuilder.java:102)
at com.syl.app.fragments.AlarmNotificationDetailFragment$2.onClick(UserFragment.java:265)
at android.view.View.performClick(View.java:5207)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:941)
at android.view.View$PerformClick.run(View.java:21177)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at …
Run Code Online (Sandbox Code Playgroud) 我希望能够为数千名用户运行 JMeter 测试,并使用基于 JQuery 的图表库(如 HighCharts)动态绘制结果,即必须近乎实时地绘制每个虚拟用户的响应,以显示类似股票行情的图表,该图表得到动态更新。我可以在非 GUI 模式下运行测试。
我已尝试以下操作, - 在非 GUI 模式下运行 JMeter 测试并将响应写入文件。我注意到结果以缓冲方式写入文件,这意味着即使我有一个程序监视文件中的新记录,我也不会实时获取它。
我正在寻找有关如何实现这一目标的建议 1. 我需要编写自定义 JMeter 插件吗?在这种情况下,它将如何运作?2. 是否有一些监听器可以给我所需的数据 3. 这可以通过后处理器完成吗?
我已经看到一些使用 JMeter 的基于云的负载测试网站上正在完成实时报告,所以我确信它可以完成,但是如何完成呢?
我正在尝试使用jmeter java api创建一个jmeter jmx文件.这就是我所做的,
使用jmeter gui应用程序创建一个我可以比较的参考jmx文件.对于测试计划,我只在线程组中添加一个线程组和一个java采样器.所有值都是默认值.
使用jmeter java api,我创建了一个包含测试计划,线程组和java sampler的jmx文件.所有值均根据情况1设置.
从代码创建jmx文件后,我注意到以下差异,
1)gui.jmx中的节点由code.jmx中的以下内容替换
<org.apache.jorphan.collections.HashTree>
Run Code Online (Sandbox Code Playgroud)
虽然这不是问题,但是可以以某种方式生成以下标记,因为GUI保存它
<hashTree>
Run Code Online (Sandbox Code Playgroud)
2)测试元素节点在gui.jmx中包含属性'guiClass'和'testClass',例如,这些属性不是在code.jmx中生成的,我也没有找到任何API来显式设置它们- >由此生成的code.jmx没有在jmeter gui控制台中打开.这可能意味着生成的jmx只能在无控制台模式下使用.这是设计的吗?有没有办法通过代码使用jmeter apis添加这些属性?(不使用DOM作为黑客)
3)gui.jmx的xml结构如下,
<hashTree>
<TestPlan ...>
...
</TestPlan>
<hashTree>
<ThreadGroup ...>
...
</ThreadGroup>
**<hashTree/>**
</hashTree>
</hashTree>
Run Code Online (Sandbox Code Playgroud)
请注意HashTree元素的嵌套.当在JMeter GUI中打开时,元素彼此嵌套.
code.jmx的xml结构如下,
<org.apache.jorphan.collections.HashTree>
<TestPlan ...>
...
</TestPlan>
**<org.apache.jorphan.collections.HashTree/>**
<ThreadGroup ...>
...
</ThreadGroup>
**<org.apache.jorphan.collections.HashTree/>**
</org.apache.jorphan.collections.HashTree>
Run Code Online (Sandbox Code Playgroud)
请注意标记位置的差异.没有筑巢.他们都处于同一水平.为什么会这样呢?使用jmx api添加测试元素的正确方法是什么,以便哈希树元素在第一种情况下彼此嵌套?
我将Android Studio升级到3.5,Android应用程序代码可以正常编译,但是当我尝试在连接的Xiaomi Redmi 4上运行它时,出现以下错误,
09/08 20:11:18: Launching 'app' on Xiaomi Redmi 4.
Installation did not succeed.
The application could not be installed.
Installation failed due to: ''pm install-create -r -t -g -S 7910440' returns error 'UNSUPPORTED''
Run Code Online (Sandbox Code Playgroud)
错误本身是神秘的。目前尚不清楚不支持什么。是手机的OS版本,SDK版本等。
可能是什么问题,如何解决?
更新:
该应用程序可以在运行Android 8.0.0的Galaxy S8 +上编译,安装并正常运行。它不在运行android 6.0.1的小米Redmi上运行
gradle配置:
minSdkVersion 21 // Android 5.0版(Lollipop)
targetSdkVersion 28 // Android版本9.0(Pie)
我正在尝试使用 ng-map 中的 ng-repeat 将地图标记动态添加到地图中,如下所示,
<div id="map-canvas">
<ng-map default-style="true">
<marker id='ID{{school.id}}' ng-repeat="school in vm.schools" position="{{school.location}}" on-click="vm.showDetail(school)" icon="assets/img/marker-excellent.png">
</marker>
<info-window id="marker-info">
<div ng-non-bindable="">
<h5>{{vm.school.name}}</h5>
</div>
</info-window>
</ng-map>
</div>
Run Code Online (Sandbox Code Playgroud)
这将创建多个具有相同标记图标的标记。我想根据 {{school.rating}} 的值使用不同的标记图标。但是,当 ng-repeat 正在执行以在地图上呈现标记时,我无法弄清楚如何根据 rating 值更改标记图标 url。
目前,我正在执行以下操作,但我认为这是一种低效的方法。
<div id="map-canvas">
<ng-map default-style="true">
<marker id='ID{{school.id}}' ng-if="school.overallRating >= 4.5" ng-repeat="school in filteredSchools = (search.schools | filter:boardsFilter)" position="{{school.location}}" on-click="search.showDetail(school)" icon="assets/img/marker-excellent.png">
</marker>
<marker id='ID{{school.id}}' ng-if="school.overallRating < 4.5 && school.overallRating >= 3.5" ng-repeat="school in filteredSchools = (search.schools | filter:boardsFilter)" position="{{school.location}}" on-click="search.showDetail(school)" icon="assets/img/marker-good.png">
</marker>
<marker id='ID{{school.id}}' ng-if="school.overallRating < …
Run Code Online (Sandbox Code Playgroud) 我在 EC2 4GB RAM 实例上运行独立的 kafka 代理。默认设置中,Kafka配置为使用1GB内存 -Xmx1G -Xms1G
由于VM只有4GB内存,是否可以将JVM设置配置为使用512MB?我该怎么做?Kafka 会在 512MB 内存下正常运行还是 1GB 最低要求?
我在 Oracle 中有一个名为“User”的表,我使用以下命令将其重命名为“Account”。这是成功的。
RENAME User TO Account
Run Code Online (Sandbox Code Playgroud)
然后我想用不同的列创建一个名为“用户”的新表。我尝试了以下命令,
CREATE TABLE User(
user_id NUMBER(38, 0) NOT NULL,
user_name VARCHAR2(25) NOT NULL,
CONSTRAINT PK_User PRIMARY KEY (user_id)
)
;
Run Code Online (Sandbox Code Playgroud)
但是 Oracle 不允许我这样做。我收到以下错误,
Error starting at line : 1 in command -
CREATE TABLE User(
user_id NUMBER(38, 0) NOT NULL,
user_name VARCHAR2(25) NOT NULL,
CONSTRAINT PK_User PRIMARY KEY (user_id)
)
Error report -
SQL Error: ORA-00955: name is already used by an existing object
00955. 00000 - "name is already used by an …
Run Code Online (Sandbox Code Playgroud) android ×2
jmeter ×2
angularjs ×1
apache-kafka ×1
concurrency ×1
database ×1
heap ×1
java ×1
jmx ×1
ng-map ×1
oracle ×1
r ×1
shiny ×1
shiny-server ×1
sql ×1