cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Business One Performance

Former Member
0 Kudos

Hi Everyone,

Good day!

I would like to ask something with regards to this matter:

What will be the performance and impact if SAP Business One is installed in a Virtual Machine and the MS SQL that I used is installed on the server where the virtual machine is installed(MS SQL is installed outside the virtual machine)?

Also what will be the impact when I launch SAP in client workstations?

Hope you can give your informative finding.

Thanks.

Anthony M.

Accepted Solutions (0)

Answers (5)

Answers (5)

jbrotto
Active Contributor
0 Kudos

I suggest that you try to migrate the SAP on a non virtual machine as that does slow the system down. Also provide sufficient ram to the system. Make sure if there is multiple Ethernet port on the server to disable all but one that is connected to the network. Also disable any unnecessary  background application that may slow down  the server.

Former Member
0 Kudos

If there is no problema the mark your helpful answers and your correct answers to close the thread.

Regards

Dave

Former Member
0 Kudos

Hi Antony,

        Please increase your RAM memory.. While using Virtual Machine it occupies more memory for the MSSQL services & VPN ...

Regards,

K.Ramasamy

Former Member
0 Kudos

Hi Anthony,

We have many Customers running Productive Environment with this Landscape with the same quick response, maybe you check the RAM on your servers, mainteneance for SQL, Databases, SWAP, etc.

Regards,

David Almazan

Former Member
0 Kudos

Hi Anthony,

If I understand it correctly, Why do you want to install SAP B1 server on a virtual machine? what do you want to achieve?

You might as well install SAP Business One server where SQL is installed rather than having it on a virtual machine

Regards,

JP

Former Member
0 Kudos

Hi JP,

Thanks for your prompt reply.

Actually, it was installed already on the virtual machine before. I just want to know what will be the impact for this kind of setup because apparently i'm facing slowness in launching the SAP B1. I'm not sure if this might be the reason for the slowness because I have big enough space on my server and installed bigger RAM.



Thanks,

Anthony M.

Johan_H
Active Contributor
0 Kudos

Hi Anthony,

Virtualization is an extra layer, and it will impact system performance. How much, depends a lot on the size of the database, and the rate of transactions.

As a rule of thumb, with any database centric applications, avoid middle layers like virtualization, and NAS.

That said, analyzing B1 system performance is a tricky business. Slowed performance can be caused by many things, so you may have to find and eliminate several issues before you get to expected performance.

Regards,

Johan

Former Member
0 Kudos

Hi Johan,

Good day!

Thank you for that information. That means that this kind of setup has also big impact in launching SAP Business One application on workstations or client computers?

Thanks and Warm regards,

Anthony M.

Johan_H
Active Contributor
0 Kudos

Hi Anthony,

Performance of B1 clients on workstations is really only impacted by the quality of your network. Look at network adapters on workstations and server (are they 10/100 or 10/100/1000 ?), switches (are all ports 10/100 or 10/100/1000 ?) , cabling (cat5 or cat6 ?), wifi signal (B1 is very sensitive to wifi connectivity issues), etc ,etc.

(not talking about HANA) The ideal environment for running B1 is:

  1. Dedicated physical server for MS SQL Server and B1 system.
  2. On the server, an amount of RAM that exceeds the (future estimated maximum, by expected lifetime / use-time of server) size of your company database(s) by at least 3-5 GB for the operating system. and 1 GB per average concurrent user. For example you are buying a server that you will use for the next 5 years, and you have a company database that by the end of those 5 years, you expect to be 20 GB large, and you have an average of 10 concurrent users. In this case you should get 32+ GB of RAM.
  3. On the server, dedicated physical hard disk drives for MS SQL Server (databases). Preferably with RAID1. The best hard disk drive controller card you can afford.
  4. Run the B1 client via Windows Server's Remote Desktop Services. That way you have only a single client installation to maintain, you can make do with lighter cheaper workstations, you can use a wifi network, and with a VPN service you can easily access your B1 system from anywhere in the world.

Regards,

Johan

0 Kudos

Hi Johan,

My pleasure.

I was surfing on the web looking for answers to my question, actually just for a good one that give me a clear idea and could help me with problem, Then I read your comment.

So here is my escenary:

My customer has two servers, one for SAP B1 8.82 PL04 and the other one for SQL 2008 R2, nowadays I know that SAP require on a hosted enviroment 1GB RAM per user, in this case there are 55 concurrent users, which means that the SAP B1 Server will requires 55 GB + 4 GB OS + 8 GB for Remote Desktop Services, for a total of 67 GB (all that will be the perfect situation). But in this case the customer has in B1 Server just 9 GB of RAM (don't scare), the system runs, but obviusly is not the best.

And about the server for SQL, it has 12 GB and the production DB size is 29 GB, the SQL is limited to 8 GB.

So in this case, how much memory will be the best  for the SQL, and what will be your recommendations for the B1 Server.

I will appreciate your help.

Regards.

Johan_H
Active Contributor
0 Kudos

Hi Juan,

Your customer's setup is a bit strange.

The B1 (server) program does not need its own server, because it requires absolutely no resources at all. In fact by using separate servers for the program and the database, they have created an extra bottleneck, that slows the system down.

In the scenario you describe, I recommend the following:

  1. install the B1 (server) program on the same server as the database.
  2. close down the server with the 9 GB, and transfer the 9 GB to the database server
  3. and/or invest in extra RAM. RAM is not very expensive but if money is an issue, you could try and sell the server with 9GB, and use that money to buy extra RAM for the database server. As much as the customer can afford, up to the maximum that the hardware supports.
  4. Set the memory of SQL Server to use the maximum available amount of RAM minus 3 - 4 GB for windows. So for example with 12 GB of RAM, set SQL Server to use 8 GB maximum.

Regards,

Johan

0 Kudos

Dear Johan, thanks for you reply.

Let me explain a Little more the situation.

For security reasons, many of our customers have installed B1 and SQL in separate servers, even here at my office we have that kind of landscape.

There's a lot of literature about how to make a correct sizing of SAP B1, but what happens when SAP B1 is installed on a Server (this is the applications server, where all the users connect trough RDP) and the SQL server is installed on a separate Sever. I mean how do you size the SQL respect to the quantity of users and the DB size.

I haven't found nothing explicit that could help me, just what you post on this forum.

Thanks, again.

Regards.

Johan_H
Active Contributor
0 Kudos

Hi Juan,

Ok, that makes a little more sense.

About SQl server and maximum RAM:

The maximum RAM SQL server may use is by default unlimited. That means that if your SQL Server is performing a lot of queries / tasks, it will use all the RAM it needs for that work. Even if that means that there will be no RAM left for Windows to operate (normally). If Windows cannot operate normally, all the programs that are running on it (including SQL Server), are slowed down as a result.

This is why you should set SQL Server to use all available RAM minus an amount for Windows to be able to operate. This amount depends on the Windows version and bits.

As you are running the database on its own server, the amount of (RDP) users are only relevant in estimating the workload of SQL Server.

In the example above where the database server has 12 GB, and the database is 29 GB (much larger than the available amount of RAM), the RAM setting will remain the same (8 / 4). If SQL Server is allowed to use more RAM, it will slowly strangle itself when more and more users log on and start working.

So again, I would increase the RAM of the database server, in this case to 32 GB, and set SQL Server memory to 28. A small investment and you will likely get performance that comes close to HANA.

Regards,

Johan

0 Kudos

You really help me, thanks for your time and answers.

Regards.

0 Kudos

Dear John,

A year ago you helped me out.

Now I want to ask you if theres any restriction from SAP if a customer separates tables of SBO into differents HDD.

Thanks and regards.

Johan_H
Active Contributor
0 Kudos

Hi Juan,

In general it helps with performance to put the mdf (rows data) and ldf (log) files each onto physically separate hard disks.

Dividing the rows data into multiple files and putting them in different hard disks, with B1 I would advise against it, simply because you do not know how the B1 tables interact. That means that you could move say the document tables (ORDR, RDR1, etc) onto its own disk, and the master data (OITM, etc) onto its own, but chances are that you would actually adversely affect performance.

In any case I would recommend to set up a test environment and test first.

Regards,

Johan