How to reduce storage cost on development server on microsoft and the IO cost

Mohit Gupta 60 Reputation points
2025-04-12T07:01:44.69+00:00

Hi,

I have deployed a wordpress as an app with mysql database. The site is still under development phase, but the database cost and IO cost is huge, when only couple of developers are working on it.

How can I optimize of find issues in my deployment to be able to reduce cost ?

I am using this config for databases

Burstable, B1ms, 1 vCores, 2 GiB RAM, 20 storage, 360 IOPS on a public network.

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
8,931 questions
{count} votes

Accepted answer
  1. TP 124.7K Reputation points Volunteer Moderator
    2025-04-14T07:34:04.5733333+00:00

    Hi Mohit,

    To start I recommend you immediately switch to Pre-provisioned IOPS set to 360 so you are not paying for each IO that you use. Auto-scale only makes sense from cost perspective in very limited scenarios.

    The effect of the above will be to have a stable price for your database. For example, for East US 2 your price for Provisioned 360, 20GB, B1ms would be approximately:

    • $12.41 for Compute B1ms (assuming you never stop server)
    • $2.30 for 20 GB storage
    • $14.71 TOTAL/month (based on 730 hours average month)

    Notice in the above pricing there is no charge for IOPS since 360 is included.

    User's image

    The above Pre-provisioned settings result in two billing entries (not including potential charges for backup retention or excess bandwidth):

    User's image

    First entry in above Cost Analysis screenshot is for Compute (B1ms) and second is for the 20GiB storage. Notice there are no extra charges for "LRS Paid IO" like you are paying now.

    Once you have made the change to Pre-provisioned: 360, monitor over a period of time to see if you are happy with performance. If you are noticing frequent slowdowns, you may increase the provisioned IOPS (e.g. in increments of 40), use it again for some period of time, and increase again if needed.

    If you want a faster approach to finding your "ideal" provisioned IOPS you could set it to the maximum 640, monitor metrics in portal over say, 1 week, and then reduce the number based on usage data over the week. You don't necessarily need to set it to observed peak recorded number—setting to say, 70% (or even less) of observed peak may be "good enough". Depends on the data and how often you are okay with brief slowdown.

    If you have any questions please add a comment below.

    Please click Accept Answer and upvote if the above was helpful.

    Thanks.

    -TP

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.