小编dar*_*age的帖子

Mariadb 5.5比MySQL 5.1慢

我有一个查询在MySQL 5.1服务器上运行大约20秒,但在MariaDB 5.5服务器上花了将近15分钟.像key_buffer_size和tmp_table_size以及max_heap_table_size这样的常见嫌疑人都是相等的(128M).就我所见,大多数设置都是相同的(query_cache等)

查询:

SELECT  products.id, 
concat(publications.company_name,' [',publications.quote,'] ', products.name) as n, 
products.impressions, 
products.contacts, 
is_channel, 
sl.i, 
count(*) 
FROM products 
LEFT JOIN publications ON products.publications_id = publications.id 
LEFT OUTER JOIN (  
    SELECT adspace.id AS i, 
    slots.products_id FROM adspace 
    LEFT JOIN  slots ON adspace.slots_id = slots.id 
        AND adspace.end > '2016-01-25 10:28:49' 
        WHERE adspace.active = 1) AS sl 
    ON sl.products_id = products.id  
WHERE 1 = 1 
AND publications.active=1 
GROUP BY products.id 
ORDER BY n ASC;
Run Code Online (Sandbox Code Playgroud)

唯一的区别在于解释fase:

旧服务器(MySQL 5.1)

+----+-------------+--------------+--------+---------------+---------+---------+-----------------------------------------+--------+---------------------------------+
| id | select_type …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

11
推荐指数
1
解决办法
1536
查看次数

适用于ELK的AWS设置良好

我们正在考虑在亚马逊上设置ELK堆栈,但我们并不知道我们需要什么样的机器来顺利处理它.现在我知道如果它没有顺利进行会变得明显,但我们仍希望了解我们对我们的情况需要什么.

所以我们4台服务器以自定义格式生成日志文件.每天大约有大约4500万行日志,产生大约4个文件600mb(gzip),所以每天约有24GB的日志.

现在我们正在研究ELK堆栈并希望Kibana的仪表板显示实时数据,因此我考虑使用syslog进行日志记录.

4台服务器 - > Rsyslog(在这4台服务器上) - > Logstash(AWS) - > ElasticSearch(AWS) - > Kibana(AWS)

所以现在我们需要弄清楚我们在AWS中需要什么样的硬件来处理这个问题.

我读了ElasticSearch的3个主人和最少2个数据节点.那么Kibana共有5台服务器+ 1台服务器,Logstash共有1台服务器?所以我需要总共7台服务器才能开始,但这有点像是有点过分了吗?我想保留我的数据1个月,所以最多31天,所以我在弹性搜索中会有大约1.4TB的原始日志数据(~45GB x 31)

但是,由于我并不知道最佳设置是什么,所以任何提示/提示/信息都是受欢迎的.

此外,为我处理此问题的系统或工具(节点故障等)可能很有用.

提前致谢,

darkownage

hardware amazon-ec2 amazon-web-services elastic-stack

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

Junit:测试查询类

我需要编写一些测试用的JUnit测试访问数据库我们班的,有些是非常简单的(选择项列表)等插入新的项目,你知道基本的SQL东西.

现在我的问题是,在编写测试时我需要记住哪些事情?

例如:数据库类从表中获取项目,我可以使用有效的ID,无效的ID来测试它,但还有什么?

因此,总结一下:您如何最好地测试查询类?

我写了任何测试已经有一段时间了,所以我有点生锈:)

mysql testing junit

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

SQL查询:在UNION中排序

我在使用UNION查询的SQL Server 2005(Express版)时遇到了一些问题.

我有以下列的这个表订单:OrdNr,Prio现在我想通过2种方式按订单排序,第一种方式是紧急订单(所以prio 6或16)和第二种方式,其余订单按Prio排序.

所以这就是我的表格:

ORDNR  PRIO
1       6
2       16
3       2
4       8
Run Code Online (Sandbox Code Playgroud)

我想要的是这个:

ORDNR  PRIO
2       16
1       6
4       8
3       2
Run Code Online (Sandbox Code Playgroud)

我的查询尝试是这样的:

SELECT OrdNbr, Prio 
FROM Orders
WHERE Prio IN (6,16) 
ORDER BY Prio DESC
UNION
SELECT OrdNbr, Prio 
FROM Orders
WHERE Prio NOT IN (6,16) 
ORDER BY Prio DESC
Run Code Online (Sandbox Code Playgroud)

但我从SQL得到一个错误:UNION附近的语法错误

请帮忙:D

sql union sql-order-by

4
推荐指数
1
解决办法
5537
查看次数

Apache Hive regEx serde:数据类型

为了处理日志,我想使用Apache Hive regEx serde但我只找到了使用String作为表的列的数据类型的示例.

现在我的问题是:是基于日期的类型,支持整数和数组还是只是字符串?

此示例(和其他)仅使用字符串:

CREATE TABLE access_log (
  remote_ip STRING,
  request_date STRING,
  method STRING,
  request STRING,
  protocol STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES  (
"input.regex" = "([^ ]) . . [([^]]+)] \"([^ ]) ([^ ]) ([^ \"])\" *",
"output.format.string" = "%1$s %2$s %3$s %4$s %5$s"
)
STORED AS TEXTFILE
Run Code Online (Sandbox Code Playgroud)

;

regex apache hive

4
推荐指数
1
解决办法
5176
查看次数

GKE 自动扩缩功能无法扩缩

我正在使用 Google Kubernetes Engine 在 Google 上设置一个 Kubernetes 集群。我已经在我的节点池上创建了启用自动缩放的集群。 nodepool_setup

据我了解,如果需要,这应该足以让集群启动额外的节点。

但是当我在集群上运行一些负载时,HPA 被激活并想要启动一些额外的实例,但由于“CPU 不足”而无法部署它们。在这一点上,我预计集群的自动扩展会开始起作用,但它似乎没有扩展。然而,我确实看到了这一点: 错误 因此,无法使用以下消息创建要创建的节点(我猜要感谢自动缩放器?):超出配额“IN_USE_ADDRESSES”。限制:区域 europe-west1 中的 8.0。

我也没有触及实例组上的自动缩放,因此在运行gcloud compute instance-groups managed list 时,它显示为“自动缩放:否”

因此,我们将不胜感激任何帮助使此自动缩放工作。

TL;DR 我猜它不起作用的原因是:超出配额“IN_USE_ADDRESSES”。限制:区域 europe-west1 中的 8.0,但我不知道如何修复它。

autoscaling kubernetes google-kubernetes-engine

4
推荐指数
1
解决办法
846
查看次数