gpt4 book ai didi

android - Meteor 的可扩展性和性能

转载 作者:行者123 更新时间:2023-11-29 14:18:05 25 4
gpt4 key购买 nike

我最近非常喜欢使用 Meteor 进行试验,到目前为止,我发现它是一个非常简洁的小应用程序。我已经决定将一个旧应用程序迁移到 meteor 并且已经取得了一些不错的进展。该应用程序是实时比分更新应用程序。虽然我已经能够证明这个概念,但我发现了 2 个可能会阻止我使用它的问题。

1) 数据以前存在于 mySQL 数据库中,因此我编写了一个脚本来将数据导出到 .js 文件中。对于那些可能想要执行类似操作的人,PHP 代码的主要部分在此处。

$handle = fopen($output_file, "w");

foreach ( $tables as $key => $table ) {
$query = "SELECT * FROM $table_prefix$table";
$res = mysql_query($query);
while ( $row = mysql_fetch_assoc($res) ) {

$newTableName = "";

$parts = explode("_", $table);
foreach ( $parts as $k => $v ) {
$newTableName .= ucfirst($v);
}

$string = $newTableName.".insert({";
$first = true;
foreach ( $row as $columnName => $value ) {
if ( !$first ) { $string .= ", "; }
$string .= "$columnName : \"$value\"";
$first = false;
}
$string .= " });";
print $string . "<br>";

}
}

虽然这对大多数表格都有效,但我有一个特别包含所有事件信息的表格。这个单独的 .js 文件包含 3600 行插入语句,当它出现在应用程序中时,应用程序似乎会中断。例如,如果我将文件重命名为“event.js.save”,那么应用程序就可以了。更具体地说,有了这个 .js 文件,当我部署我得到的应用程序时......

mac:app user$ meteor deploy <domain>.meteor.com
Deploying to <domain>.meteor.com. Bundling ...

Errors prevented deploying:
Exception while bundling application:
RangeError: Maximum call stack size exceeded

那么,第 1 个问题是 - 为测试此应用程序的可扩展性做了多少工作?

2) 我遇到的第二个问题是关于移动性能。我花了很长时间让样式表在所有平台上看起来都不错,但看到手机电池电量耗尽的速度真的很失望。

当我在 Safari 中加载一个页面时,右上角的“进度”动画不断旋转,据我所知,大约 10 分钟内耗尽了 5% 的电量。

问题 2 - 如何为浏览器保持连接?有什么办法可以减少对移动浏览器的影响吗?

谢谢。

最佳答案

1:如果 meteor 站点在没有计划的情况下在一天内以大量流量管理发射,那么应用程序的可扩展性非常好。你的错误的原因是,据我所知,你不能连续调用那么多相同的语句,因为 js 认为它​​正在崩溃。不过,我认为有一些方法可以改变或绕过它。

就他们所做的测试而言,我不确定,就我个人而言,我会通过遍历数据并插入数据来导入数据,而不是像调用那么多(我认为这是问题所在)。

2:这是一个正在旋转的错误,但它会不断检查 ajax 或类似方法。将来会使用套接字,我希望它会更有效率。也许将来会有一种方法可以降低查询数量和网络密集度。

关于android - Meteor 的可扩展性和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com