小编Jul*_*oux的帖子

如何微调我们的 MySQL 服务器?

MySQL 不是我的菜,但我需要微调我们的一台服务器。

以下是要求/规格:

  • MySQL 服务器只有一个重要的数据库
  • 我们只有一种“类型”的应用程序连接到它,同时连接到它的实例并不多:最多 15 个。(这些应用程序是 XMPP 机器人)
  • 这些应用程序具有非阻塞 IO,这意味着它们永远不会在数据库服务器上“等待”并在处理数据库查询时继续处理传入请求。这意味着有时这个应用程序的一个实例可以有几个(很多!)连接到数据库服务器(特别是如果某些查询很慢)
    • 所有查询都使用索引
    • 我们的主机只运行 MySQL。这是一个具有 2GB RAM 的 Xen 实例 (@slicehost)。
    • 我们使用 InnoDB 表是因为我们需要一些基本的事务,但如果这对性能有真正的影响,我们可能会切换到 MyISAM。

由于它现在的配置,我们的 MySQL 服务器慢慢开始吃掉所有可用的内存(我们使用 collectd,这是一个图表)。在某些时候(几天/几周后),它停止执行查询(它在今晚停止了 2 个小时,我不得不重新启动 MySQL 服务器:见第二张图片):

(抱歉,新用户不能发布图片,而且只有 1 个超链接 :/)

这是我们目前的 my.cnf

#
# The MySQL database server configuration file.
#
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" …
Run Code Online (Sandbox Code Playgroud)

mysql innodb xen tuning performance-monitoring

8
推荐指数
1
解决办法
7219
查看次数

使用 HTTP 标头的 Haproxy 负载平衡

我们正在使用 HAProxy 来平衡我们的 websocket 和 Comet 应用程序。后面有一个 HAProxy 和 3 个应用程序在运行。我们使用 HTTP 基本身份验证(将来我们将使用其他类型的身份验证,如 OAuth)来识别连接的用户。

我们不能使用常规循环,因为给定用户的连接最终在同一台服务器上很重要。在哪里并不重要,但重要的是他们使用相同的服务器。

我知道 HAProxy 是一种基于智能 cookie 的方法,但不幸的是,在我们的例子中,有时,同一用户会从不同的机器连接,所以 cookie 不起作用)。

是否可以使用 HTTP Authorization 标头的散列来进行负载平衡?另外,这更复杂,是否可以定义我们自己的散列方法?

后续问题[在威利的回应之后]:

既然可以做balance hdr(Authorization),是否可以在登录字段上做(解析后)?

另外,确切的算法是什么?我相信它的形式是hash(Authorization) % number_of_backend_server,但是,散列函数是什么,更重要的是,它是否可以调整?(或者我可以添加一个偏移量)。

我问是因为这个应用程序实际上是保持 XMPP 组件连接打开,我需要使用相同的算法对 XMPP 组件进行负载平衡toXMPP 节中的jid 由 HTTP 标头授权确定。

load-balancing http-headers haproxy socket

8
推荐指数
1
解决办法
5163
查看次数

Grep 压缩文件

我有一组 100 个日志文件,使用 gzip 压缩。我需要找到与给定表达式匹配的所有行。我会使用 grep,但当然,这有点像一场噩梦,因为我必须一个一个地解压缩所有文件,grep 它们并删除解压缩的版本,因为如果它们不适合我的服务器都被解压了。

任何人都有关于如何快速完成的小技巧?

grep gzip pipe

8
推荐指数
2
解决办法
860
查看次数

管理区域文件

出于各种原因,我们托管自己的DNS 服务器(BIND),包括我们经常部署和终止机器以及有时需要非常快速地通过 DNS 进行负载平衡的事实。

但是,现在我们有60 台服务器,我们很难跟踪所有记录,并且在编辑区域文件时容易出错。还不错(我们使用其他一些 DNS 提供商作为备份),但我正在寻找一种比手动编辑文件更好的方法。

此外,由于我们可以轻而易举地与臭名昭著的厨师一起部署新实例,因此手动执行此操作需要花费最多的时间!如果我们可以自动执行此操作,将会很有趣。有人知道这件事吗?编辑和维护此区域文件的好做法是什么?

domain-name-system bind dns-zone

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

当我的服务器空闲时如何减少 RAM 消耗

我们使用具有 512MB 实例的 Slicehost。我们在它们上运行 Ubuntu 9.10。我安装了一些软件包,现在我正在尝试在运行任何东西之前优化 RAM 消耗。

一个简单的ps给我正在运行的进程列表:

# ps faux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S<   Jan04   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   Jan04   0:15  \_ [migration/0]
root         4  0.0  0.0      0     0 ?        S<   Jan04   0:01  \_ [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Jan04   0:00  \_ [watchdog/0]
root         6  0.0  0.0      0     0 ?        S< …
Run Code Online (Sandbox Code Playgroud)

memory-usage

2
推荐指数
1
解决办法
1566
查看次数