我一直在使用JMeter对我的REST API进行负载测试.
当遇到1000个并发用户时,我收到以下错误:
Too many open files. Stacktrace follows:
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:397)
at java.net.Socket.getImpl(Socket.java:460)
at java.net.Socket.setSoTimeout(Socket.java:1017)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:126)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:476)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:441)
at groovyx.net.http.HTTPBuilder.request(HTTPBuilder.java:390)
Run Code Online (Sandbox Code Playgroud)
我的服务器尝试命中另一个REST API以获取数据并对其进行处理,最后返回JSON响应.
如何增加Linux中打开文件的数量?
以下是我对另一台服务器的调用
Map getResponse(Map data, String url){
HTTPBuilder httpBuilder = new HTTPBuilder(url);
httpBuilder.request(Method.POST, JSON) {
headers.'Authorization' = AppConfig.config.appKey;
headers.'Content-type' = 'application/json'
body = data
response.success = { resp, reader ->
return reader as Map;
}
response.failure = { …
Run Code Online (Sandbox Code Playgroud) 我必须创建 tar.gz ,下面是我在 build.gradle 中的分布设置
distributions {
main {
contents {
into ("/")
from libsDir
include ‘.jar’
rename '..jar’, “${project.name}.jar”
from “env”
include ‘*.conf’
}
}
}
Run Code Online (Sandbox Code Playgroud)
请建议我需要对 build.gradle 进行哪些更改才能生成 tar.gz 文件
我有一个UserTable格式的字符串.我希望输出为user_table.基本上用"_"和字母替换所有大写字母.喜欢R=_R
.
我有这个代码,它工作正常.
public static String getTableName(String clazz){
String name = (clazz.charAt(0)+"").toLowerCase();
for(int itr=1;itr<clazz.length();itr++){
char ch = clazz.charAt(itr);
if(ch >=97 && ch <=122)
name += ch;
else
name += ("_"+ ch).toLowerCase() ;
}
return name;
}
Run Code Online (Sandbox Code Playgroud)
我只是想要,如果这可以以更整洁的方式完成.
我有一个id列表 [3,80,5,1]
我拥有数据库中的所有记录,比如Person类对象.
有没有办法以所提供的ID的相同顺序获取Person对象.
我的意思是结果应该给我价值
Person(id : 3),
Person(id : 80),
Person(id : 5),
Person(id : 1),
Run Code Online (Sandbox Code Playgroud)