目前,我的web应用程序运行在两个基于云的Windows2012 R2服务器上--一个运行Tomcat,另一个运行Servers。Windows服务器为4GB Intel XEON(R) CPU E5-2660 v2 @2.20Gghz
我正在PaaS (平台即服务)上测试我的应用程序。我用Tomcat9.0创建了一个Linux来保存应用程序(P1V2),创建了一个Azure来保存数据库(S2)
我所做的一个测试是比较在两个系统上生成Excel报告(使用Apache )所需的时间。
在云系统(运行)上,花费了大约10秒的时间。在Azure上大约花了35秒。
显然,我希望Azure系统至少与基于的系统一样快,特别是在云系统运行的中,其上限为1GB和1内核。
我尝试了以下几点:
Query Performance Insight / Recommendations / Automate来自动调优数据库。这确实在一定程度上加快了它的速度,但还远远不够。我想问题在于数据库。
例如,我发现了一个查询(使用/长时间运行查询),它在Azure上运行2秒,在Server上运行0秒。请注意,我并不是在问如何优化这个查询。相反,我想象这个查询在Azure上花费的时间更长--具有相同的数据库模式、相同的数据和相同的索引--可能是关于如何加快整个应用程序的线索。
SELECT cp.*
,(
SELECT min(market_date)
FROM mydb.rates ms
WHERE ms.curr1 = cp.curr1
AND ms.curr2= cp.curr2
) MIN_MARKETDATE
FROM pairs cp
order by curr1, curr2发布于 2019-09-24 11:29:05
进行苹果对苹果的比较最简单的方法是为Azure使用vCore模型。您说您使用的是一个S2数据库,该数据库是50 DTU或核心的一半。您需要扩展到至少一个S3,才能相当于一个核心VM。
这将确保您使用相同的通用设置进行测试,并应帮助您匹配性能。
https://stackoverflow.com/questions/58051055
复制相似问题