我们正在对当前系统进行概述,试图弄清楚我们是否可以提高性能和可靠性.
目前我们运行一堆内部Rails应用程序和基于Rails的网站.有些已经是Rails 3,有些正在转换为Rails 3.它们都连接到以下MySQL安装程序.
mysql01 ( master server) => mysql02 (slave)
=>(每日数据库备份到驱动器,每天,每周,每月和每半年备份).
所有写入都发生在mysql01上,大多数短读取也会发生,一些"更耗资源的读取"(如每月/每周报告需要3-10分钟才能运行并将数据转储到csv或备份中)转到mysql02服务器.我们每天访问我们的网站大约3-5K,并且有大约20-30个内部用户,每天使用各种应用程序进行库存,订单处理等.因此,除了那些报告之外,这些服务器并不是特别重负荷.无论如何,奴隶的奔跑.
所有服务器都在virtualized XEN
Debian Lenny VM上的池中运行.
所以我们正在对系统进行审查,有人提出了切换到MySQL Cluster (NDB)
设置的建议.我在理论上知道它,但从未实际运行它.任何有过这方面经验的人都知道任何赞成与我们当前的设置,以及涉及Ruby/Rails应用程序时的任何特别警告吗?
这是一个真正的超新手问题.
我有一个存储在数据库中的年龄.
当我从数据库中获得年龄时,我想获得每个数字.
例:
User.age = 25
Run Code Online (Sandbox Code Playgroud)
我想得到以下内容:
first = 5
second = 2
Run Code Online (Sandbox Code Playgroud)
我似乎无法从数据中将其作为修复数量来解决这个问题.
任何人都知道干净简单的解决方案.
如果下面的情况是mysql中的一个bug?
Mysql版本:mysql.x86_64 5.0.77-4.el5_4.1
内核:Linux box2 2.6.18-128.el5#1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
------------------------
LATEST DETECTED DEADLOCK
------------------------
100125 4:24:41
*** (1) TRANSACTION:
TRANSACTION 0 210510625, ACTIVE 155 sec, process no 28125, OS thread id 1243162944 starting index read
mysql tables in use 1, locked 1
LOCK WAIT 5 lock struct(s), heap size 1216, undo log entries 1
MySQL thread id 162928579, query id 527252744 box22 172.16.11.105 user updating
delete from user_grid_items where user_id = 669786974 …
Run Code Online (Sandbox Code Playgroud) 我想弄清楚我的软件是否在运行linux suffers from memory leak
.我已经尝试测量可用的物理内存/proc/meminfo
(见下文),但可以理解哪个字段代表可用内存以及它们之间的关系MemFree, Cached, Buffers, Active, Inactive
.
cat /proc/meminfo
MemTotal: 124128 kB
MemFree: 62872 kB
Buffers: 0 kB
Cached: 15624 kB
SwapCached: 0 kB
Active: 38724 kB
Inactive: 11148 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 34272 kB
Mapped: 14640 kB
Slab: 5564 kB
SReclaimable: 424 kB
SUnreclaim: 5140 kB
PageTables: 504 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 62064 kB …
Run Code Online (Sandbox Code Playgroud) 我Deadlock found when trying to get lock; try restarting transaction
在InnoDB表上遇到错误.这是查询:
UPDATE views
SET visit_cnt = visit_cnt + 1
WHERE visit_day = DATE(NOW())
AND article_id = '4838'
Run Code Online (Sandbox Code Playgroud)
此查询还通过ON UPDATE触发器触发此操作:
UPDATE articles
SET views = views + 1
WHERE id = NEW.article.id
Run Code Online (Sandbox Code Playgroud)
这是我试图修复它的方式:
$attempts_left = 5;
do
{
mysql_query ($query);
// if we found a deadlock, we will try this query 4 more times
if (mysql_errno () == 1213) { // 1213 - deadlock error
$deadlocked = true;
$attempts_left --; …
Run Code Online (Sandbox Code Playgroud) 有人能告诉我如何用汇编语言制作可执行文件吗?我的环境是Ubuntu + Emacs + GCC用于学习目的,我写了一些C代码(hello.c)并将其转换为程序集(hello.s)
我想从汇编写入文件中创建一个可执行文件.
我试过了
M-x compile
gcc hello.c -S
Run Code Online (Sandbox Code Playgroud)
从C代码进行汇编
和
M-x compile
as hello.s
Run Code Online (Sandbox Code Playgroud)
制作可执行文件
但是只有a.out文件并且无法执行
所以我试过了
as hello.s -o aaa
Run Code Online (Sandbox Code Playgroud)
但文件"aaa"不可执行
我有多个这样的数据库连接情况:
db connection 1: INSERT xyz
(very short time passes)
db connection 2: SELECT [looking for xyz]
Run Code Online (Sandbox Code Playgroud)
有时会SELECT
发现xyz
而有时却找不到(因为它与不在同一个db连接上INSERT
)。如果我把sleep(1)
后INSERT then the SELECT
总能找到xyz
。
对于数据库连接1,如何使其等待,直到INSERT
完成并且新行可用于SELECTs
另一个数据库连接上运行?
我的桌子是innodb
。用例是在连接1上插入一个经过身份验证的会话ID,然后重定向到一个经过身份验证的页面,然后当对经过身份验证的页面的请求进入(在另一个连接上)时,我们会寻找会话ID来对该请求进行身份验证。可以放慢登录速度,直到INSERT
完全完成后再登录,这样经过身份验证的会话ID才可用于其他请求,然后再返回。
我需要一些指导来开始学习编写我自己的操作系统内核.
仅供教育用户使用.
我怎样才能编写自己的内核?
当我忘记数据库密码时,如何列出 Linux 的所有 phpmyadmin 用户/密码?