标签: performance

MySQL 性能瓶颈 - I/O 还是 CPU?

我正在开发一个 Web 应用程序,并且在我的开发环境和实际环境中遇到了 MySQL 查找速度之间的巨大性能差异。

数据库: 2.5GB,三张表(一张表有2700万条记录)。全文索引和搜索。所有内容都在需要的地方建立了索引。数据库包含英国所有地址的记录。

开发服务器: 使用两年的三星 i5 Ultrabook。运行 XAMPP 的 Windows 8。单SSD。大多数查找时间不到 200 毫秒,故意给系统施加压力,导致最大查找时间为 5 秒。

实时服务器: “混合”VPS(每台服务器最多 8 个节点)。硬件规格为“双 Intel Xeon 处理器,至少 8 个 CPU 内核、24GB RAM、带有 15K SAS 驱动器的 Raid 10 驱动器”。大多数查找大约需要 3-5 秒,压力测试导致查找时间为 30 秒。

我对开发服务器上的数据库性能感到满意,但我确实需要生产服务器来匹配或更好。

在我为应用程序购买专用盒子之前,根据您的经验,瓶颈可能是磁盘 I/O 还是 CPU 时间?


只是发布一个答案作为记录:

我在带有 RAID-ed SSD 的 VPS 上尝试了该应用程序。区别在于白天和黑夜,查找现在甚至比我的开发机器更快。这是默认的 MySQL 安装,没有对缓存、最大内存使用量和其他参数进行任何编辑。

mysql performance

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

您如何在具有数据完整性和性能的 HDD 上存储 VM?

首先,我知道这个话题很容易变得主观,但我试图避免这种情况,因为在一堆糟糕的答案中至少应该有一个很好的答案,而且很难找到。

乍一看,我的问题似乎很简单;您如何在硬盘上存储虚拟机磁盘,同时确保数据完整性不会受到损害,并且性能不会太差。

但它实际上比看起来更难;

  • ZFS 和 BTRFS 没有选择:写时复制文件系统在处理大文件方面是出了名的差,特别是如果它们本身可能包含另一个写时复制文件系统!您CAN关闭COW上BTRFS,但是这也将关闭执行校验和(和压缩,重复数据删除等)。
  • EXT2/3/4、XFS、ReiserFS、NTFS 等都不会像 BTRFS/ZFS 那样进行完整的数据校验和。

那么它是将死吗?除了具有其他问题的简单 RAID 设置之外,您无法获得完整的数据完整性,例如写入漏洞 (RAID5) 以及通常对损坏文件的处理非常糟糕,其中不清楚两个副本中哪一个是正确的。在将文件返回给操作系统或用户之前,对文件进行校验和验证并验证其完整性的更高级别系统可以避免这些问题。

我能想到的唯一选择是在 VM 内部而不是在主机上使用 BTRFS/ZFS,并在每台机器上适当地安排快照和备份,尽管这比在主机上执行要麻烦得多。

有谁知道任何其他方式来实现我的目标?

performance storage filesystems virtual-machines data-integrity

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

提高 RDP 登录性能

我们有一个位于远程数据中心的 Windows 2008 服务器,它通过高延迟(~200 毫秒)3MBps VPN 连接连接到我们的主要位置。此服务器安装了域控制器和终端服务卷。登录到这台机器需要大量的时间,远远超过位于我们主要设施中的本地台式机或其他服务器(服务器本身是 2 x 四核、16GB RAM、15K SAS 驱动器,所以它不应该是一些硬件容量问题)。

我的理解是 RDP 登录主要是启动服务和配置文件内容的功能,所以我的猜测是配置文件可能通过 WAN 流式传输并且花费最多时间?漫游配置文件会解决这个问题吗?有没有办法在这台机器上强制配置文件“缓存”?我还应该寻找什么?

windows-server-2008 performance rdp login

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

为什么我的 Core2Duo 2.2GHz 4GB RAM w/Vista 感觉不如运行 XP 的单核 PM 2GHz 2GB RAM?

我最近更换了笔记本电脑,我原以为它会快很多,但感觉或多或少是一样的?只是Vista吗?用Win7会更好吗?

performance windows-vista

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

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

如何确定我的 Windows Server 2003 是否需要更多内存?

确定我的服务器是否需要更多内存的最佳方法是什么?

我想我应该使用 Perfmon,但是哪个计数器?

谢谢。

windows-server-2003 performance memory

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

通过 Netbios 复制文件时 Windows Server 2003 的性能很差

我们有一个基于 Windows Server 2003 的服务器,它通过千兆接口共享一个文件夹,每小时从另一台服务器接收一个 10GB 的文件。该服务器是 Dell PowerEdge 830,在 RAID-1 上有两个 SCSI 磁盘,带有一个 PERC4/SC 适配器。传输发生在将近 10 分钟,并且服务器在传输期间变得无法使用。我们甚至无法打开 Windows 资源管理器、任务管理器或通过 VNC 访问服务器。我们需要一些关于问题是什么的建议,或者如何进一步跟踪以找到问题。

windows performance netbios

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

SQL Server 不释放内存

我正在使用 SQL Server 2005。

我正在运行一个处理大约 10 万条记录的工作。作业运行良好,执行需要 45 分钟,这很好。

但是在处理完该作业后,我可以看到 SQL Server 2005 的实例仍然存在,大约有 900 MB 的内存。我等了大约 2 小时,但没有释放内存。

这里是否有任何处理内存的进程,例如 GC(不可预测)或者我做错了什么???

performance sql-server sql-server-2005

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

为什么我不能预压缩服务器文件?

在将文件发送给用户之前让您的服务器 gzip 您的文件只是一个很好的常识(我使用 Nginx) 无论如何,是否可以为服务器节省一些开销并为服务器预压缩这些文件,如果没有,为什么?

例如,不是给服务器一个 myscript.js 并让服务器压缩文件并将其发送给用户,有没有办法创建 myscript.js.zip 以便服务器不必?

performance nginx gzip

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

Apache 服务器正在产生越来越多的进程,最大限度地消耗 RAM 并死亡

我们有一个 LAMP 设置,当 Apache 服务器(MySQL 服务器不在这个机器上)刚刚开始死机时,它已经运行了半年。随着时间的推移,它似乎已经开始产生越来越多的进程。最终它会消耗所有内存,服务器就会死掉。我们正在使用预分叉。

与此同时,我们只是不断增加 RAM,并将 MaxClients 和 ServerLimit 参数增加到 512。但我们只是延长了崩溃时间。这个数字还在缓慢上升。也许有一天,它会达到那个极限。

到底是怎么回事?我们每秒只有大约 15-20 个请求。我们有 1 GB 的内存,但还没有使用一半。没有进行交换。

为什么 Apache 创建越来越多的进程?几乎就像某处有泄漏一样!

数据库框很好,它们不会导致请求延迟。我们测试了一些查询一切都很快!

performance lamp mpm-prefork apache-2.2

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