我最近听说 Nginx 为其反向代理功能添加了缓存。我环顾四周,但找不到太多关于它的信息。
我想将 Nginx 设置为 Apache/Django 前面的缓存反向代理:将一些(但不是全部)动态页面的 Nginx 代理请求发送到 Apache,然后缓存生成的页面并从缓存中为这些页面提供后续请求。
理想情况下,我想以两种方式使缓存无效:
是否可以设置 Nginx 来做到这一点?如何?
我试图用 MySQL InnoDB 寻找各种文件系统性能的基准,但找不到。
我的数据库工作负载是典型的基于 Web 的 OLTP,大约 90% 读取,10% 写入。随机IO。
在 ext3、ext4、xfs、jfs、Reiserfs、Reiser4 等流行的文件系统中,您认为哪个最适合 MySQL?
当一个 Linux 服务器正在处理许多并发请求以读取许多不同的文件时,它是否:
查找 File_1,读取整个文件,然后查找 File_2,读取整个文件,然后查找 File_3,等等
查找 File_1,读取其中的一部分(直到预读值?),然后查找 File_2,读取其中的一部分,然后查找返回到 File_1 停止的地方,阅读更多内容,然后查找 File_3,等等,等等
如果是第 2 种情况,则服务器执行的搜索比必要的要多得多,这会显着减慢速度。在这种情况下,我可以做任何调整吗?
我听说过很多关于将 Cobbler 与 Puppet/Cfengine 一起使用以进行快速部署和配置的信息。
你能指点我一些教程或分享你如何做的经验吗?
也很想知道您用于快速配置和部署的任何其他系统。谢谢。
我有一个包含近 100 个表的 MySQL 数据库。
我想在同一台服务器上设置 N 个额外的 MySQL 数据库,每个数据库都在不同的端口上运行。我希望每个附加数据库都具有与原始数据库相同的架构/表结构。
有没有办法自动制作N个原始数据库的副本并将它们设置在N个不同的端口上?
谢谢
你能给我一个关于如何启用 MySQL 的慢查询日志的例子吗?
根据文档:
从 MySQL 5.1.29 开始,使用--slow_query_log[={0|1}]启用或禁用慢查询日志,并可选地使用--slow_query_log_file=file_name指定日志文件名。在--log慢的查询选项已过时。
那么我该如何使用该选项呢?我可以放进去my.cnf
吗?一个例子将不胜感激。
根据Facebook 的 Haystack 上的这篇论文:
"由于 NAS 设备管理目录元数据的方式,将数千个文件放置在一个目录中的效率极低,因为目录的块图太大而无法被设备有效缓存。因此,通常会发生 10 次以上的磁盘操作检索单个图像。将目录大小减少到每个目录数百个图像后,生成的系统通常仍会产生 3 个磁盘操作来获取图像:一个将目录元数据读入内存,第二个将 inode 加载到内存中,第三次阅读文件内容。 ”
我曾假设文件系统目录元数据和 inode 将始终由操作系统缓存在 RAM 中,并且文件读取通常只需要 1 个磁盘 IO。
这篇论文中概述的“多个磁盘 IO 读取单个文件”问题是 NAS 设备独有的,还是 Linux 也有同样的问题?
我计划运行一个 Linux 服务器来提供图像。有什么办法可以最大限度地减少磁盘 IO 的数量 - 理想情况下确保操作系统将所有目录和 inode 数据缓存在 RAM 中,并且每个文件读取只需要不超过 1 个磁盘 IO?
MySQL有不少日志:
我知道 Postgresql 的 WAL,它相当于 InnoDB 的事务日志(对吗?)。
其他 MySQL 日志(例如 bin 日志)呢?它们是否与 Postgresql 等效?
我正在 CentOS 上的生产环境中运行 MySQL 5.0。我如何安全地迁移到 Percona Server 5.1?
Percona Server 的文档不包含任何有关迁移的信息。任何帮助是极大的赞赏。
有没有人使用 Percona 的 XtraDB(一个 MySQL 版本)?
功能和基准数据看起来不错。我想知道它是否足够稳定以进行生产。
你的经验是什么?
mysql ×6
filesystems ×3
linux ×3
database ×2
performance ×2
xtradb ×2
benchmark ×1
centos ×1
cfengine ×1
cobbler ×1
deployment ×1
hard-drive ×1
io ×1
migration ×1
nginx ×1
percona ×1
postgresql ×1
proxy ×1
puppet ×1
replication ×1
varnish ×1