Questions tagged «azure-vm»

6
可以在一台SQL服务器上放置的数据库数量有限制吗?
我正在建立一个SaaS系统,我们打算在该系统中为每个客户提供他们自己的数据库。该系统已经设置好,因此如果负载太大,我们可以轻松地扩展到其他服务器。我们希望拥有成千上万的客户。 问题 在一个SQL Server上可以/应该具有的微数据库数量是否有实际限制? 它会影响服务器的性能吗? 拥有10,000个每个100 MB的数据库或一个1 TB的数据库是否更好? 附加信息 当我说“微数据库”时,我并不是真的意思是“微”。我只是说我们的目标是成千上万的客户,因此每个单独的数据库仅占总数据存储量的千分之一或更少。实际上,每个数据库的容量大约为100MB,这取决于它获得的使用量。 使用10,000个数据库的主要原因是可伸缩性。事实是,系统的V1有一个数据库,当数据库承受负载时,我们经历了一些不舒服的时刻。 所有这些都使CPU,内存,I / O紧张。即使我们解决了这些问题,他们也使我们意识到,即使在世界上索引最佳的情况下,如果我们如希望的那样成功,我们也无法将所有数据都放在一个巨大的鸿沟中的数据库。因此,对于V2,我们正在分片,以便可以在多个数据库服务器之间分配负载。 去年,我花了很多时间来开发这种分片解决方案。每个服务器一个许可证,但是由于我们在Azure上使用VM,因此无论如何都要照顾好它。之所以出现这个问题,是因为以前我们只向大型机构提供服务,并且自己建立每个机构。我们的下一个业务是自助服务模型,任何使用浏览器的人都可以注册并创建自己的数据库。与大型机构相比,他们的数据库将更小,数量更多。 我们尝试了Azure SQL数据库弹性池。性能非常令人失望,因此我们切换回常规VM。

4
诊断“有时”缓慢查询的建议
我有一个存储过程,该过程通过覆盖索引从索引视图返回结果。通常,它运行速度很快(〜10毫秒),有时甚至可以运行8秒钟。 这是一个随机执行的示例(注意:这不是一个缓慢的执行,但是查询文本与传递的值相同): declare @p2 dbo.IdentityType insert into @p2 values(5710955) insert into @p2 values(5710896) insert into @p2 values(5710678) insert into @p2 values(5710871) insert into @p2 values(5711103) insert into @p2 values(6215197) insert into @p2 values(5710780) exec ListingSearch_ByLocationAndStatus @statusType=1,@locationIds=@p2 这是SPROC: ALTER PROCEDURE [dbo].[ListingSearch_ByLocationAndStatus] @LocationIds IdentityType READONLY, @StatusType TINYINT AS BEGIN SET NOCOUNT ON; …

1
为什么我的Azure SQL Server这么慢?
当前,我们有一个功能很差的虚拟机,并建议迁移到具有更好规格的Azure VM。问题是,即使Azure VM具有更高的规格,它也比原始VM慢得多。 原始服务器是具有2GB内存的2核VM,它也是Web服务器。它正在运行Microsoft SQL Server Web Edition 2008 R2,并且由于该服务器还用于其他用途,因此我们不得不将SQL Server中的最大服务器内存限制为512MB。 新服务器是具有7GB内存的4核VM,仅是数据库服务器。它正在运行Microsoft SQL Server Standard Edition 2008 R2,并且我们没有限制SQL Server可以使用的内存量。 这是在镜像环境中设置的两台服务器之一,但是我正在运行测试的数据库未镜像。目前,该服务器上的其他数据库通信量不大(实际上,在我运行这些测试时,活动监视器未显示其他DB上的活动)。 我确实意识到Azure VM的一个问题是硬盘驱动器是一种网络资源,因此这将成为速度下降的根源,但是即使IO统计数据中显示了0次物理读取,它仍然会变慢。 我已在Azure VM 上遵循此页面上的调优建议,包括剥离磁盘(每个驱动器两个磁盘)并将日志和数据文件放在单独的驱动器上。 我唯一没有做的事情就是启用页面压缩,限制数据库的自动增长以及将SQL Server错误日志和跟踪文件目录移动到数据磁盘。我也没有在旧服务器上做到这一点。 旧服务器没有完成任何调优,并且日志和数据文件位于未分割的同一驱动器上。 当前服务器上的数据库为65 GB(45个数据和20个日志),这太大了,无法传输到新服务器,因此我正在较小的DB(6个数据和13.5日志)上进行测试 这是旧服务器上的结果,CPU time = 1311 ms, elapsed time = 1057 ms.新服务器上CPU time = 1281 ms, elapsed time = 2525 ms. 的结果是。这只是一次运行,但是结果代表了我通常看到的内容。 …

2
云中的SQL Server事务日志
这是一个常见的做法是将事务日志(*.ldf)单独的物理磁盘的系统比数据库文件(上*.mdf,*.ndf)。 在虚拟机云环境中,可以将事务日志与其他数据文件放在相同的驱动器号上吗?在当今流行的云虚拟机环境中通常如何处理? 注意:不使用SQL Azure。使用具有完全访问权限的Windows虚拟机。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.