MySQL 不是我的菜,但我需要微调我们的一台服务器。
以下是要求/规格:
由于它现在的配置,我们的 MySQL 服务器慢慢开始吃掉所有可用的内存(我们使用 collectd,这是一个图表)。在某些时候(几天/几周后),它停止执行查询(它在今晚停止了 2 个小时,我不得不重新启动 MySQL 服务器:见第二张图片):
(抱歉,新用户不能发布图片,而且只有 1 个超链接 :/)
今天:i31.tinypic.com/ir53yg.png
这是我们目前的 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) 我们正在使用 HAProxy 来平衡我们的 websocket 和 Comet 应用程序。后面有一个 HAProxy 和 3 个应用程序在运行。我们使用 HTTP 基本身份验证(将来我们将使用其他类型的身份验证,如 OAuth)来识别连接的用户。
我们不能使用常规循环,因为给定用户的连接最终在同一台服务器上很重要。在哪里并不重要,但重要的是他们使用相同的服务器。
我知道 HAProxy 是一种基于智能 cookie 的方法,但不幸的是,在我们的例子中,有时,同一用户会从不同的机器连接,所以 cookie 不起作用)。
是否可以使用 HTTP Authorization 标头的散列来进行负载平衡?另外,这更复杂,是否可以定义我们自己的散列方法?
后续问题[在威利的回应之后]:
既然可以做balance hdr(Authorization)
,是否可以只在登录字段上做(解析后)?
另外,确切的算法是什么?我相信它的形式是hash(Authorization) % number_of_backend_server
,但是,散列函数是什么,更重要的是,它是否可以调整?(或者我可以添加一个偏移量)。
我问是因为这个应用程序实际上是保持 XMPP 组件连接打开,我需要使用相同的算法对 XMPP 组件进行负载平衡。to
XMPP 节中的jid 由 HTTP 标头授权确定。
我有一组 100 个日志文件,使用 gzip 压缩。我需要找到与给定表达式匹配的所有行。我会使用 grep,但当然,这有点像一场噩梦,因为我必须一个一个地解压缩所有文件,grep 它们并删除解压缩的版本,因为如果它们不适合我的服务器都被解压了。
任何人都有关于如何快速完成的小技巧?
出于各种原因,我们托管自己的DNS 服务器(BIND),包括我们经常部署和终止机器以及有时需要非常快速地通过 DNS 进行负载平衡的事实。
但是,现在我们有60 台服务器,我们很难跟踪所有记录,并且在编辑区域文件时容易出错。还不错(我们使用其他一些 DNS 提供商作为备份),但我正在寻找一种比手动编辑文件更好的方法。
此外,由于我们可以轻而易举地与臭名昭著的厨师一起部署新实例,因此手动执行此操作需要花费最多的时间!如果我们可以自动执行此操作,将会很有趣。有人知道这件事吗?编辑和维护此区域文件的好做法是什么?
我们使用具有 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)