javascript - 与 mysql 连接的实时图表问题

标签 javascript php mysql ajax performance

我想显示实时图表,但没有得到好的结果,我正在使用canvasjs库,并且使用mysql连接来执行此操作,但在收到信息几分钟后,我遇到了下一个问题: [Failed to connect the database:[1]

我想要显示的数据来自医疗设备,每秒发送大约 1000 条记录,我可以建立连接来接收信息,但几分钟后该连接丢失,当我尝试访问:

enter image description here

如果您看到的问题与我之前向您展示的问题相同。 这是我用来从数据库获取信息的查询:

<?php
header('Content-Type: application/json');
$con = mysqli_connect("localhost", "root", "", "db");
if (mysqli_connect_errno($con)) {
 echo "Failed to connect to DataBase: " . mysqli_connect_error();
} else {
$data_points = array();
$result = mysqli_query($con, "SELECT * FROM values where id=10"); 
while ($row = mysqli_fetch_array($result)) {
$point = array("value1" => $row['valueX'], "value2" =>$row2['ValueY']);
    array_push($data_points, $point);
}
echo json_encode($data_points);
}
mysqli_close($con);
?>

如果您有任何建议或意见,请告诉我。 谢谢指教。

最佳答案

无需特殊操作,每秒 100 次可能是可以管理的。

将浏览器设置为允许 20 个“客户端”。

设置 MySQL:

max_connections = 151 -- as it probably currently is
innodb_flush_log_at_trx_commit = 1  -- if using SSDs, else 2

那么以每秒 100 个 Web 请求收集数据可能不会出现问题,从而导致每秒 100 个 MySQL INSERT

“1000”可能会有问题。

同时,您可以获取数千行(在单个 SELECT 中)来生成实时图表。但不要每秒执行 100 次。

关于javascript - 与 mysql 连接的实时图表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41816576/

相关文章:

javascript - Atom IDE 包

PHP输出缓冲变量

php - 用php更新mysql中的日期类型

php - 为每个帖子选择 3 条评论

mysql - 从mysql的大表中快速选择随机行

javascript - 将查询过滤器应用于对象的 JavaScript 数组

javascript - 使用 AJAX 发送 JavaScript 变量

php - 将可变数量的值绑定(bind)到准备好的语句

javascript - 无法在 Angular 2 中验证用户身份

javascript - 当图像尺寸大于最小标准时拖动图像