你能帮我理解 GlusterFS 中的“direct-io-mode”吗?
我在禁用直接 I/O 模式的情况下获得了更好的读取结果 - 这是否意味着在禁用模式下它正在从缓存写入/读取 - 它是系统缓存还是 GlusterFS 缓存?推荐的方法是什么?我正在使用 4 个具有分布式复制卷的节点进行 Web 服务:
Write: dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
echo 3 > /proc/sys/vm/drop_caches
Read: dd if=tempfile of=/dev/null bs=1M count=1024
Read-Read: dd if=tempfile of=/dev/null bs=1M count=1024
Write Read Re-Read
67.5 MB/s 94.9 MB/s 94.6 MB/s direct-io-mode=enabled
65.8 MB/s 230 MB/s 226 MB/s direct-io-mode=disabled
Run Code Online (Sandbox Code Playgroud) 之间有什么关系:
innodb_buffer_pool_size和query_cache_ *
两者都用于缓存查询,但有什么区别?我可以同时使用吗?
谢谢
重新启动 MySQl 从服务器的安全/正确方法是什么。我需要重新启动机器以更新内核并应用一些配置更改。
我已经在我的实验室对其进行了测试,但不幸的是它无法正常工作:
我想知道在重新启动服务器之前是否应该执行任何额外的步骤,例如“SLAVE STOP;” 等等。
我还有另一个关于 Percona Xtradb 备份的问题。当这个脚本在从站上运行时,它会落后于主站(I/O 不高,我已经设置了 --throttle 选项)
从服务器可以落后于主服务器并且仍然能够赶上主服务器的最大值是多少?
我想将 admin 子目录重定向到子域。我尝试为 Nginx 创建此规则,但它不起作用:
location ^~ /admin/ {
rewrite ^/admin(.*) http://admin.example.com$uri permanent;
}
Run Code Online (Sandbox Code Playgroud)
谢谢问候
我有一个简单的脚本来读取用户的输入(密码)并将其保存到一个变量
read -s -p "password: " PASSWD; printf "%b" "\n"
Run Code Online (Sandbox Code Playgroud)
显然这不安全,因为它以明文形式存储在内存中,并且可以通过核心转储访问它?我如何从内存中读取这个变量。请注意,我不是在寻找更好的解决方案,我只是想知道我是否真的可以读取此密码/变量。
我正在测试一个简单的脚本,我想知道为什么从目录执行时它可以正常工作:./test.sh但是当我尝试使用“sh”命令时sh test.sh它不起作用:
test.sh: 3: test.sh: [[: not found
test.sh: 7: test.sh: [[: not found
Run Code Online (Sandbox Code Playgroud)
脚本:
#!/usr/bin/env bash
if [[ $1 = one ]]
then
printf "%b" "two\n" >&2
exit 0
elif [[ $1 = two ]]
then
printf "%b" "one\n" >&2
exit 0
else
printf "%b" "Specify argument: one/two\n"
exit 1
fi
Run Code Online (Sandbox Code Playgroud) 您能帮我修改以下单行代码以获得更精确的内存使用吗-现在它只是一个整数,我想在昏迷后包含第一个值。
free -m | awk '/Mem:/ {tot = $2;} /cache:/{printf "%d\n", $3 / tot * 100}'
Run Code Online (Sandbox Code Playgroud)
谢谢
我注意到一个系统用户不断地通过 FTP 服务器下载一个 JPEG 文件(每隔几秒钟)。源 IP 实际上分配给服务器本身。我尝试过使用 lsof、ps、top 等工具。我也没有运气检查了 cron 工作。你能告诉我如何追踪这个过程,脚本的来源吗?请注意,此服务器正在运行 cPanel。
我可以使用 strace,但是该进程运行的时间不够长,无法捕获它。
# tail /var/log/xferlog
Wed Jan 23 14:21:26 2013 0 xxx.xxx.xxx.xxx 14558 /path_to_dir/file.jpg b _ o r user ftp 1 * c
Wed Jan 23 14:21:26 2013 0 xxx.xxx.xxx.xxx 14558 /path_to_dir/file.jpg b _ o r user ftp 1 * c
Wed Jan 23 14:21:27 2013 0 xxx.xxx.xxx.xxx 14558 /path_to_dir/file.jpg b _ o r user ftp 1 * c
Run Code Online (Sandbox Code Playgroud) 我想用WriteThrough和执行一些测试WriteBack。在生产系统上更改这些设置是否安全?RAID 控制器没有 BBU,所以我WriteBack只想在测试期间启用(sysbench):
# ./MegaCli64 -LDInfo -L0 -a0 | grep "Current Cache Policy:"
Current Cache Policy: WriteThrough, ReadAdaptive, Direct, No Write Cache if Bad BBU
# ./MegaCli64 -LDSetProp WB -L0 -a0
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以即时更改innodb_buffer_pool_size。
看起来缓冲池已在我的服务器上过度分配,现在正在交换。我已经在从服务器上更改了这个值,重新启动了 MySQL 守护进程,现在一切看起来都很好 - 但是我不能让主服务器脱机
我不确定是否至少可以刷新 inndb 缓冲区以释放一些内存?
# ps aux --sort -vsz | head -n2
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mysql 2064 14.6 93.8 17369060 15328044 ? Sl Jul22 7096:48 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysql/mysql-error.log --pid-file=/var/lib/mysql/mysql.pid --socket=/var/lib/mysql/mysql.sock --port=3306
# free -m
total used free shared buffers cached
Mem: 15949 15786 163 0 4 104
-/+ buffers/cache: 15677 272
Swap: 4095 346 3749
Run Code Online (Sandbox Code Playgroud)