我有一个场景,
具有大约1.4 TB数据的elasticsearch DB具有,
_shards": {
"total": 202,
"successful": 101,
"failed": 0
}
Run Code Online (Sandbox Code Playgroud)
每个索引大小大约介于3 GB到30 GB之间,并且在不久的将来,预计每天会有30 GB的文件大小.
OS信息:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.2 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.2"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.2 (Maipo)"
Run Code Online (Sandbox Code Playgroud)
系统有32 GB的RAM,文件系统是2TB(1.4TB Utilised).我为elasticsearch服务器配置了最多15 GB.但这还不足以让我查询这个数据库.服务器挂起以在服务器上发出单个查询.
我将在此服务器的文件系统中包含1TB,以便总可用文件系统大小为3TB.我还计划将内存增加到128GB,这是一个近似估计.
有人可以帮我计算如何确定服务器同时响应至少50个请求所需的最小RAM吗?
如果您可以建议任何工具/配方来分析此要求,将不胜感激.如果您能给我任何其他带数字的场景,那么我也可以使用它来确定我的资源需求.
我正在使用 jboss Server 7.1.1 来部署 java web 应用程序。对于 js、css、字体文件,浏览器缓存不会随着新的更改而更新。每次我们都坚持要求客户清除浏览器中的缓存以使新的更改生效。
是否有任何我可以配置的配置,以便在部署新代码时我可以引导所有请求提供更新的文件?
通过谷歌搜索这个主题,我发现我们可以编写自定义方法来设置电子标签值。有什么配置可以帮助我做到这一点吗?
大多数时候我们都会进行热部署(在 jboss 管理控制台中上传 war 文件,无需停机)。所以我怀疑在热部署期间自定义电子标签是否会更新,因为我们在服务器启动时配置了它。
或者有没有办法在 Web 应用程序的 web.xml 文件中处理它?
我需要一个可以使用浏览器缓存的解决方案,直到下次部署 js、css 和字体文件。我不知道如何设置“过期”标题。因为我们没有固定的部署周期。
如果您需要更多信息才能找到解决方案,请告诉我。
在以下状态中,我打开的文件数为“95349”。这个值正在迅速增加。
mysql> show global status like 'open_%';
Open_files = 721
Open_streams = 0
Open_table_definitions = 706
Open_tables = 741
Opened_files = 95349
Opened_table_definitions = 701
Opened_tables = 2851
也看到这个。
mysql>show variables like '%open%';
have_openssl = 禁用
innodb_open_files = 300
open_files_limit = 8502
table_open_cache = 4096
和
最大连接 = 300
打开的文件和打开的文件有什么关系。由于增加了opened_files 值,会不会有任何性能问题。这是一个 8 GD RAM 和 500 GB 硬盘的服务器,处理器:Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz。它是一个专用的 mysql 服务器。
这里是命令
ulimit -n;
1024 是计数
服务器经常挂。使用一些在线工具,我已经优化了一些参数。需要知道还有什么应该优化?在什么情况下打开的文件数会减少?是否有必要将打开的文件数限制在某个范围内。如果是这样,如何为我的服务器找到合适的限制。如果不清楚某些地方,请通过提出更多问题来帮助我。
mysql performance server-configuration mysqladministrator mysqladmin
String att = "siva";
String ptt = "siva";
System.out.println("__________________________ptt.equals(att)_______"+ptt.equals(att));
**System.out.println("__________________________att == ptt________"+att == ptt);**
if(att == ptt){
System.out.println("true");
}else{
System.out.println("false");
}
Run Code Online (Sandbox Code Playgroud)
在我的日志中,我找到以下输出:
__________________________ptt.equals(att)_______true
**false**
true
Run Code Online (Sandbox Code Playgroud)
在这里,如果你看一下java代码和日志(粗体).它们是有区别的 .
我已经知道,什么是参考,什么是对象.
att == ptt和att.equals(ptt)之间有什么区别.
字符串的不变性.
但是,当以不同的形式打印时,它应该知道为什么它会返回false和true?为什么我在print语句中输入的文本没有反映在日志中?
如果错误请更正..或者是否需要额外输入.
我需要编写一个 oracle 选择查询,其中我需要一个从 1 开始增加 2 的附加列。
例子:
column1 column2
amit 1
siva 3
pyll 5
Run Code Online (Sandbox Code Playgroud)
这里从oracle表我只能得到column1。但在查询中我必须生成 column2。所以我的问题是动态获取像 rownum() 这样的列并将其增加 2. 有没有办法获得这样的结果。在 mysql 中,我们可以在查询中使用会话变量。我希望在 oracle 中有类似的解决方案。但我找不到一个简单的查询来生成这样的数字。
java ×2
etag ×1
filesystems ×1
immutability ×1
jboss ×1
memory ×1
mysql ×1
mysqladmin ×1
oracle ×1
performance ×1
redhat ×1
string ×1