小编Vit*_*yal的帖子

用于托管 MySQL 数据库的 Cloud SQL 或 VM 实例

我有一个网站,但我很困惑在哪里托管其数据库。

Google Cloud SQL D1 层有 0.5 GB RAM,每天的费用为 1.46 美元。

GCE n1-standard-2 具有 7.5 GB RAM,其成本为每天 1.68。

我在 Cloud SQL 上托管我当前的数据库,当并发活动连接增加时性能会下降。这一定是因为云 sql 的 RAM 低。

我可以在 VM 实例上设置 mysql 服务器,并且可以远程访问外部服务器。此外,Cloud SQL 对最大连接数有限制。

那么,我为什么要在 Cloud SQL 上托管它?

我主要关心的是性能。

mysql sql-server google-cloud-sql google-compute-engine

7
推荐指数
1
解决办法
4741
查看次数

在Google Cloud中将http重定向到https

我已经设置了一个负载均衡器,可以接受来自用户的https连接.然后使用http连接将计算引擎连接到负载均衡器.

我在根文件夹中写了以下.htaccess文件:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)

现在,问题是,计算引擎总是通过http链接(到负载均衡器)而不是https连接.

因此,即使URL以https开头,.htaccess文件也始终认为连接是http而不是https.因此,即使网址为https,它也会进入无限循环,尝试将用户发送到https.

在这种情况下,应该如何将http重定向到https.

谢谢.

.htaccess google-compute-engine

5
推荐指数
2
解决办法
5734
查看次数

iOS 在应用程序启动期间检测 Airplay

我们正在构建一款 iOS 应用程序,用户可以在订阅模式下观看视频。

我们不希望用户将视频播放到任何其他设备。

视频正在 UIWebView 内播放。

我查了各种网上资源:

  1. https://developer.apple.com/documentation/uikit/uiwebview/1617973-mediaplaybackallowsairplay?language=objc

  2. https://github.com/MobileVet/AirPlayDetector

上述选项均无效。

另外,我尝试了这段代码,但它总是返回 1。

if ([[UIScreen screens] count] < 2)) {
//streaming
}
else {
//mirroring
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过这段代码:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveAirPlayNotification:) name: UIScreenDidConnectNotification object:nil];
Run Code Online (Sandbox Code Playgroud)

此通知系统仅在我启动应用程序然后打开 Airplay 时才起作用。如果我打开 Airplay 然后启动应用程序,则不会检测到任何内容。

我需要在应用程序启动时检测镜像是否打开。我见过其他应用程序这样做,所以我确信这是可能的。

请帮忙。

iphone objective-c uiwebview ios

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

MySQL 中的睡眠连接过多

我正在使用托管在 Google Compute Engine 上的 MySQL 数据库,并通过 PHP 从另一个计算引擎访问。

每当我跑

SHOW PROCESSLIST
Run Code Online (Sandbox Code Playgroud)

结果中大约有 5-6 个睡眠连接,这对我来说没问题,因为它不会降低系统的性能。但是每当网站上的流量很大时,睡眠连接就会增加到 100+,从而导致整个系统变慢。

我在网上查了一下,发现这些sleep连接都是open mysql connection waiting for command。

但是我在每次查询后关闭我的 SQL 连接。这是我如何使用 PHP 访问 MySQL DB 的示例。

function db_connect()
{
    $host = "100.100.100.100"; // dummy
    $username = "abc";
    $pass = "1234";
    $db = "database";
    $connection = new mysqli($host, $username, $pass, $db);
    $connection->set_charset("utf8");
    return $connection;
}
function closeConnection($db)
{
    $db->close();
}
function runQuery($query)
{
    $db = db_connect();
    $sql = $db->query($query);
    closeConnection($db);
    return $sql;
}
Run Code Online (Sandbox Code Playgroud)

我将 SQL 语句传递给 runQuery …

mysql

5
推荐指数
0
解决办法
4956
查看次数