小编xrs*_*stf的帖子

Cassandra,JNA,Docker和CAP_IPC_LOCK

我正在尝试优化我的Cassandra(3.7+)Docker容器的性能.我发现2015年的一个演示文稿(在幻灯片21中)提到我应该授予CAP_IPC_LOCK并设置ulimit memlock.

经过一番挖掘后,似乎有两个选项基本上是为了防止系统交换JVM,而现代版本的Cassandra似乎通过使用JNA来实现.

--ulimit memlock=-1:-1我的Docker容器上的设置具有这样的效果

INFO  12:42:33 JNA mlockall successful
Run Code Online (Sandbox Code Playgroud)

在启动时打印,所以我假设我已完成所有设置.

我是否仍然需要--cap-add=CAP_IPC_LOCK,如果是,我如何检测我是否正确设置?

jna cassandra docker

5
推荐指数
1
解决办法
380
查看次数

我可以安全地忽略MySQL错误HY000,错误代码为00000

我已经用PDO(MySQL 5.1)设置了PHP(5.2),以便在发生错误时抛出异常:

$pdo = new PDO(...);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud)

现在,我有时会遇到一个例外,它只会告诉我"HY000:一般错误".我试图从PDO中获取更多信息,但我只能说:

  • errorInfo中(): array(0 => 'HY000')
  • 错误代码(): array(0 => '00000')

失败的查询如下所示:

INSERT INTO user_values
SELECT user_id,
       attribute_id,
       ?,
       value 
  FROM user_values 
 WHERE user_id = ? 
   AND set_id = ?
Run Code Online (Sandbox Code Playgroud)

我确保所有游标都已正确关闭($stmt->closeCursor()).调用fetchAll()我的语句时会抛出异常.经过一番搜索,我发现有些人只是忽略了这个错误,但是忽略一个PDO异常似乎是完全错误的.

该怎么办?我是否必须检查"它是一个INSERT,没有结果集,所以忽略这些异常"(因为我没有单独的INSERT,SELECT,UPDATE等方法).

php mysql pdo

3
推荐指数
1
解决办法
1929
查看次数

标签 统计

cassandra ×1

docker ×1

jna ×1

mysql ×1

pdo ×1

php ×1