Analyzing Work Processes

本文介绍了通过SAP系统的工作进程概览来诊断常见的性能问题的方法。包括如何判断数据库响应时间过长、更新服务被禁用、SAP内存管理问题等,并提供了针对不同情况的具体解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

If you watch the work process overview for several minutes and repeatedly click the REFRESH button to update the display, you can usually determine whether there is a current performance problem related to work processes in the SAP instance; if there is a problem, you can roughly estimate its cause. The main indication of a performance problem is thatall the work processes of a particular type (such as dialog or update)are occupied.


Long database response times

There is a problem in the database area if the work process overview in the ACTION column shows numerous database-related actions, such as SEQUENTIAL READ, DIRECT READ, UPDATE, COMMIT, and WAITING FOR DB LOCK. In this case, start two additional user sessions, the database process monitor and the database lock monitor (exclusive lock waits), to identify any expensive SQL statements or database locks.

Deactivated update service

If all update work processes (UPDs) are occupied, you have a specific problem. Check whether the update was deactivated. To do so, call Transaction SM13. Determine whether you can find the message UPDATING BY SYSTEM DEACTIVATED. If this is the case, an entry exists in the SAP Syslog (Transaction SM21) showing when, by whom, and for what reason the update was deactivated. As soon as the underlying problem is resolved, for example, a database error, you can reactivate the update work process in Transaction SM13.


Problems with SAP memory management

Problems with SAP memory management are often indicated in the work process overview as follows:

->The ACTION/REASON FOR WAITING field frequently displays ROLL-IN or RoLL-OUT (accompanied by a Type 6 semaphore).
->Many work processes are in PRTV mode (the STATUS field displays»STOPPED and the REASON field displays » PRIV).

Ex: Problem with Used-Up Extended Memory

1.almost all work processes are in the private mode state.

2. both t he SAP extended memory and the roll buffer are completely full.

Increasing the size of the extended memory (parameter em/initial_size_MB) or an analysis of the programs with high memory requirements will likely solve t he problem in this case.


Stopped work processes

If a work process listed in the local work process overview has the status STOPPED, the cause is indicated in the REASON fie ld. To obtain a list of the possible reasons, access SAP Help for this column.

Normally, it is not a problem if some work processes have the status STOPPED for short periods of time. However, if the number of work processes that are stopped for thesame reason exceeds 20%, or if these work processes continue to have the statusSTOPPED for a long time, you should analyze the situation in detail.


A single ineffective or defective

work process often starts a chain reaction that stops other work processes. I A single ineffective or defective work process can be found using the TIME field . You can often assume that the work process with the longest runtime (indicated in the TIME column) caused the problem. If the problem is acute, consider manually terminating the defective work process


Completed work processes

If, in the work process overview, you detect numerous terminated work processes (indicated as COMPLETE in the STATUS field) and find that you cannot restart them, it is likely that there is a problem with the SAP kernel or with logging onto the database. In this case, check the trace file. This can be found in the work process overview under the menu option PROCESS • TRACE • DISPLAY. Save this trace file to a local file. The trace file will be overwritten when the work process is restarted, so save the trace file to a secure location to enable subsequent troubleshooting. Look for SAP Notes referring to the problem at the SAP Service Marketplace, or consult SAP.


Incorrect load distribution

In a distributed system with several computers, you may find a work process bottleneck on at least one computer, while other computers have idle work processes. Check how many users are logged onto each SAP instance. On the workload monitor, you can also check how many dialog steps have been executed on each server. If you discover a very uneven distribution load, you should optimize your logon distribution. Use Transaction SMLG to check whether all the servers are available for logon distribution or whether there are any relevant error messages. Then, proceed with reorganizing the logon distribution.

For an overview of current user distribution, see the logon group distribution via the following path:
TOOLS • ADMINISTRATION • CCMS • CONFIGURATION • LOGON GROUPS
(Transaction SMLG) • GoTo • LOAD DISTRIBUTION


Too few work processes

As you can see from the problems described in the previous sections, there are many reasons why all work processes of a given type might be busy. If you have ruled out all the problems discussed so far yet still have a work process bottleneck, it may be that you have not configured enough work processes. In this case, you should increase the number of work processes. However, before doing so, check whether the computer has sufficient CPU and main memory resources. If the CPU is already being 80% utilized, an increase in the number of work processes will more likely further decrease rather than increase performance.

References to Problems That Can Be Detected Using the Work Process Overview

ProblemTitle
Long database
response times
Identifying Expensive SQL
Statements; Optimizing SQL
Statements
Locks
Optimizing SQL statements
SAP memory configurationAnalyzing SAP Memory Configuration
Memory Management of SAP NetWeaver ABAP Application Server
Nonoptimal load distribution, too few work processesWorkload Distribution and
Remote Function Calls


资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在ASP.NET开发中,定时任务是一种常见功能,用于在固定时间间隔内执行特定操作,比如数据同步、清理缓存或发送通知等。以下是实现ASP.NET定时任务的详细步骤和关键要点: ASP.NET定时任务通常通过System.Threading.Timer或System.Timers.Timer实现,二者都能周期性触发事件。在ASP.NET中,可以利用后台线程或HttpApplication生命周期事件来启动定时器。 System.Threading.Timer:适合在独立线程上运行任务,避免阻塞主线程,适合轻量级任务。 System.Timers.Timer:在多线程环境下,它会自动管理线程,更适合服务器端复杂任务。 创建定时器对象,设置Interval属性为10000毫秒(10秒),并注册Elapsed事件。该事件会在每个时间间隔结束时触发。 在Elapsed事件中编写要执行的代码,确保代码执行效率高,避免阻塞,因为长时间运行的任务可能影响其他请求。 通过Timer.Start()启动定时器,Timer.Stop()停止定时器。在ASP.NET中,可以在Application_Start和Application_End事件中控制定时器的启动和停止,确保服务器启动时定时器开始运行,关闭时停止。 在多用户环境下,如果定时任务会修改共享状态,必须考虑线程安全问题,可以使用锁或其他同步机制来确保数据一致性。 将应用程序部署到IIS时,需设置应用程序池的回收策略,避免定时任务因应用程序回收而中断。同时,确保IIS配置支持长时间运行的请求。 为定时任务添加日志记录非常重要,可以帮助排查问题并监控任务执行情况。 定时任务过于频繁可能会影响服务器性能,进而影响其他请求的响应时间。可根据需求调整时间间隔,或
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值