Enterprise Resource Planning Blog Posts by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
Balaji_S
Product and Topic Expert
Product and Topic Expert
1,749

Thanks for joining the info session “How to configure the SAP Business One Service Layer for optimal performance" [English] [Spanish]

Answers to chat questions [English session]

1. Do you mean with "Eliminate repeated login request" that we should not use Basic Auth and use instead the classic cookie handling? 

Ans: The login request which initializes the data and creates a new session. Refer online help.

2. Can we extend the login session time?

Ans: Yes. Please refer to online help.

3. On a HANA environment - if we want to install the service layer on a different machine does it have to be another Linux machine?

Ans: Yes, you cannot mix Service Layer installer for HANA and MSSQL.

4. If we install the SL on another Linux Machine, does it have to be a SLES distribution, or any distribution would work?

Ans: You need to use the respective support version for the patch. Please refer to the product availability matrix.

5. For big B1 HANA installations (3+ Hana engines) we use multiple service layer instances on several Linux boxes. How can we know which Service Layer instance is used by standard SAP services?

Ans: Most of the standard SAP services use the Service layer instance on the SLD machine. If no service layer installed in the SLD machine, it uses the first registered instance in the SLD.

6. Do you have any plans to certify the Service Layer on other Linux distributions?

Ans: No such plans.

7. Is there any plan to certify the Service Layer for ARM servers (such as AWS Graviton)?

Ans: No such plans.

8. How to automate restart service layer service daily in Linux?

Ans: You can refer [crontab] to schedule restart.

9. Is there a plan from SAP Product Development to avoid restarting all services every day? You recommend "restart the Service Layer before your process" could not be our claim and is just a recommendation for the next few months, right?

Ans: It is only a recommendation and is not mandatory. If your landscape does not require restart, then you can run as long as you need.

10. When you say to restart the B1S service daily - is it recommended to do this through the ServiceLayerController or using the systemctl /services.msc?

Ans: You can schedule a windows task to schedule a restart for window. In Linux, you can use the crontab to schedule a restart.

11. How do I restart the service layer using Api?

Ans: Service layer does not provide any specific API for restart.

12. if I have an environment with 60 users and I want to allow these users to use WebClient. Do I have to allocate 60GB of RAM only for Service Layer + the memory utilized by WebClient?

Ans: You need to have appropriate number of load balancer member based on the concurrent users. Please use the Web Client sizing guide to assess. 

13. How to know if its better to have 6 nodes or 21 for example as in our experience more nodes don’t mean better performance. If for example we have 300 service layer users, its clear how to size ram,But we still don’t understand how to size CPU?

Ans: Invest on fast enough CPU (Clock Speed). Number of cores should not have a major difference. RAM availability is the factor. Please refer Apache online help.

14. How do we do the calculations when there are so many SAP components generating traffic on the Service Layer?

Ans: You need to start with minimum recommended nodes and then expand as need arise.

15. How many Members do you recommended only for standard, like job service EDS etc.?

Ans: The default setting ,4 in Linux and 10 in windows should be enough because the service uses a single user to generate the request.

16. How can we invoke multiple threads inserting invoice using service layer? and what's the benchmark the optimum service layer can add document, per hour?

Ans: This depends on the factors which we discussed in the session.

  • Number of application connecting to the Service layer.
  • Type of requests - (get/patch/put/post).
  • Complexity of the request.
  • What are the objects used in request(like Documents, Items etc.).
  • How many lines are processed in your requests.
  • How many serial number and batch numbers are processed.
  • How many bin locations are processed.
  • Number of concurrent requests .
  • Total requests - Total number of requests processed by Service Layer.
  • Size of the database.
  • Number of databases in the landscape.
  • Number of rows on the table you operate.
  • Number of other concurrent processes which could generate database activity.(Other add-ons, Business One Client, reports, alerts and so on).
  • Database response time.
  • Hardware.

You need to benchmark the database only by running the test on it.

17. What does it mean when the Node "Load" value is a negative number? e.g. Node 1 = -107888, Node 2 = 30888, ...?

Ans: Please refer to the Apache documentation: Algorithm described in Apache online help.

18. What's the load balance port?

Ans: By default, it is set to 50000, you can change it at the time of installation. 

19.  When do you use V2 Service Layer calls instead of V1 calls which is related to OData versions?

Ans: v1 represents OData version 3.0 and v2 represents OData version 4.0. You need to use either v1 or v2, you cannot mix both. OData 4.0 is latest version available, if you are developing new application you need to adopt the latest. Choosing the v1 or v2 should not affect the performance of service layer.

20. Is there a plan to provide full SQL query functionality in Service Layer? Like STRING_AGG or CASE When, etc. is there a document which states all currently available sql query functions?

Ans: Please refer to the online help for the supported functions and keywords.

21. Is there any other method to handle transaction using service layer other that script server? means, we want to insert SO & DO simultaneously & we want to rollback document if one fails?

Ans: Use the $batch request with change set, please refer online help.

22. How to apply no content create document?

Ans: Please refer online help

23. Is there any example of reverse proxy settings for service layer using nginx in Cloud Control Center? I have found for Web client, mobile service, browser access but not for Service Layer.?

Ans: Please check the documentation slide 46,47.

24. Service Layer SQLQueries consumes high CPU and RAM. Because of this issue our clients cannot effectively use our apps.?

Ans: This could be a bug. Please check SAP Note:3529952.

25. When using SQL Queries most of tables cannot be used. In order to optimize app performance, we need all tables to be included in SQL Queries service.

Ans: It is not suggested from the security perspective. If the expected table is not in the allowed list, please raise a request in the influence.

26. Is there any parameter where I can limit the maximum SL memory consumption?

Ans: No. “Max Connections Per Child”  setting the service layer controller can be used to restart the member after processing certain number of request. This will release the memory.

27. Is there a Max number of threads per SL installation?

Ans: Yes, "Maximum Threads per Load Balancer Member" is available. Please refer online help

28. Any advice on how to setup a good Archive functionality on Business One? I'm almost sure I only found out of the box solutions for S4/HANA and not for B1 on this area?

Ans: Please refer the online help

29. The service layer generates hundreds/thousands of log files that are not really useful and leads to disk full situations. Can we de-activate the log file creation?

Ans: Please refer to below KBA:3543181,3538414

30. What does optimize history table settings mean?

Ans: We are asking to reduce the number of records in history tables. Please refer the online help [History setting] and [ Log cleanup].

Answers to chat questions [Spanish session]

31. Can you explain more in detail what the Etag does to optimize the invocation

Ans: Please refer to online help on Etag 

32. In which part of the invocation of the API service layer is used the SYNC? when invoking the post?

 Ans: Yes POST/PATCH/DELETE. (In any add/update/delete operation)

33. Threads are the requests that are made on each balancer member.

Ans: We are referring threads in Apache webserver context. Please refer to Apache documentation for details.

34. When you indicate Balancer member you refer to nodes 50001, considering the access port is 50000?

Ans: Yes.

35. Where can I find the service layer log file?

Ans: Please refer to KBA: 3157498

36. In the first scenario I saw that the recommendation to process 6000 invoices is advisable to do it outside of business hours. We just have the scenario of processing that number of records in a client, but it must be done online, so we cannot wait to process the records what alternative do we have?

Ans: If the transaction time is less, then you can do this concurrently, else would recommend using the offline time.

37. There is some sizing tool for service layer considering the 4 factors.

Ans: No. You need to arrive at the baseline based on your implementation.

38. If I use SAP BTP Destinations for a connection to the Service Layer with an Indirect license for non-employees (per instance) and the performance was compromised, would you have to purchase more Indirect licenses for non-employees to create more Destinations and balance the load?

Ans: User License type does not influence the performance of service layer.

39. When it is developed in the B1 Integration Framework and the Service Layer Adapter is used, does it keep the session internally for 30 Minutes open? Or for each time the Adapter is used, does it open a new session?

       Ans: It opens the new session every time the B1i step is invoked.

40. What percentage of the standard functionalities in SAP Client (such as creating an invoice, maintaining a business partner, and so on) use the Service Layer?

Ans: Desktop client does not use Service layer. Webclient, Job Service, Electronic Document Service(EDS) uses service layer. Check the admin guide for all the depend components on service layer.

41. Is there a tool to calculate how many service layer nodes are required?

Ans: Please refer to KBA:3139544

42. How can I identify which query or query is doing an integration that connects via SL to know if it is generating any delay?

Ans: You can enable the Observer logs. Please refer to KBA:3157498(Point 5)

43. How do I find the process number that the SL is handling to identify it in HANA studio? The pid the SL log shows is the same on HANA?

Ans: Yes, the PID shown in service layer access log will match with the PID of observer log. The same should be reflected in HANA.

44. Is there any SAP Note which Linux OS configuration parameters should be considered to install the service layer on a separate server?

Ans: Service layer is a server component. Supported versions of OS based on the patch level can be found in below document (HANA),(MSSQL).

      You cannot mix MSSQL and HANA version of service layer.

45. What is the best way to understand if the blocked transactions of an integration that comes by service layer are generated by an integration scheduling failure or by an erroneous SL configuration?

Ans: For technical errors, you can use Service layer error logs. Refer KBA: 3157498 (Point 2).

For business logic errors, you can use Service layer observer logs. Refer KBA:3157498 (Point 5,6).

46. How can I calculate how many nodes and threads per nodes do I have to have configured to ensure a certain number of documents per day, for example 6000 documents per day.?

Ans: Refer KBA: 3139544

47. Are node threads associated with VM CPU threads? How many independent service layers with (balancer ´+ nodes) can be installed on an SAP b1 implementation, (apart from the balancer with 4 native nodes that is installed for SAP services in the VM that has SAP B1 + HANA installed?

Ans: No restriction, just simply having a greater number of nodes will not guarantee high performance. Please refer Apache documentation.

48. https://<server>:50000/b1s/v1 or https://<server>:50000/b1s/v2 there are considerable improvements?

Ans: V1 represents odata3 and v2 represents odata4 protocol stands. This has got no relation to the performance.

49. To separate servicelayer into another server, should the server have a SUSE OS in the same way?

Ans: Service layer is a server component. Supported versions of OS based on the patch level can be found in below document (HANA),(MSSQL).

      You cannot mix MSSQL and HANA version of service layer.

50. If a developer does not know how to give me the necessary information to be able to configure the SL correctly, is there any monitoring tool that allows me to do a live test and calculate this information?

Ans: Number of requests handled can be easily monitored from the service layer controller, please refer to online help

If you need to track the request, you can use the access log. Refer KBA:3157498(Point 1).

51. Server 2, what requirements do you need to have? it would be very expensive to have another Hana server, could a Window OS be used? Works the same for the service layer in SQL?

Ans: Service layer is a server component. Supported versions of OS based on the patch level can be found in below document (HANA),(MSSQL).

      You cannot mix MSSQL and HANA version of service layer.

52. ALL mobile apps consume the Service Layer?

Ans: No, SAP Mobile app which uses mobile service component use service layer.

53. Good day, that number of users refers to the B1 user being configured, or to the requests that will arrive, regularly only one user is configured, in a practical example in xs is configured a development that communicates with the manager to Service layer, I see that in the example they mention 8 users, means that using only one connection user is bad practice?

Ans: Yes, it is the B1 users. The implementation depends on the use case. If you want to manage the data based on the user sign, then you need to use separate B1 users else you can single user.

54. If I want to do several operations in batch, is it possible with Service Layer or what recommendations would they give? For example: Create customer, invoice customer and then attach payment.  Everything in one transaction?

Ans:  Use the $batch request with change set, please refer online help.

55. What is the most efficient way to update a price list from service layer? If the list has thousands of items to update a single price of an item takes us in 5 and 10 seconds.

Ans: The slowness could be because of the number unused pricelist mapped. Check SAP Note: 3135722(Point 2).

56. What is the rule for UDT'S to be called in the SL? Can you register to a UDO from the service layer?

Ans: Check online help.

57. Sometimes when a request is not completed on a loadBalance and the connection to the balance-manager is lost we do not know if the request was completed or if an error occurred. What can we do to find out if there was an error or if a load balancer failed?"

Ans: If the request has reached the Service layer load balancer, then it should be recorded in the access log KBA:315798.(Point1). All technical errors should be recorded in error log KBA: 315798.(Point2).

58. What does the "Connection per child" configuration refer to, are the threads for each load member? or what is the hierarchy Load balancer > load member > thread > child?

Ans: The “Max Connections Per Child” Controls how frequently the server recycles processes by killing old ones and launching new ones. This refers to the maxconnectionperchild directive in apache.

59. What steps can I take to check the symptoms of the environment and how to better size the service layer and database?

Ans: Please refer to KBA: 3139544

60. Is there any sap note that indicates the configuration of the alerts cleanup?

Ans: Please refer to SAP Note:3246872

2 Comments