01
تحليل الأداء
تحليل الأداء هو الخطوة الأولى لتحسينه.
// Profiling
ClassMethod ProfileApplication()
{
// بدء Profiling
Do $SYSTEM.OBJ.ProfileStart()
// تشغيل الكود المراد تحليله
Do ..RunApplication()
// إيقاف Profiling
Do $SYSTEM.OBJ.ProfileStop()
// عرض النتائج
Do $SYSTEM.OBJ.ShowProfile()
}
// مراقبة الاستعلامات البطيئة
ClassMethod MonitorSlowQueries()
{
// تفعيل SQL Statistics
Do $SYSTEM.SQL.SetSQLStats(1)
// عرض الاستعلامات البطيئة
Set rs = ##class(%SQL.Manager.Catalog).GetSlowQueries()
While rs.%Next() {
Write "الاستعلام: ", rs.%Get("Query"), !
Write "الوقت: ", rs.%Get("Duration"), " ms", !
Write "الاستدعاءات: ", rs.%Get("Executions"), !
}
}
// تحليل الذاكرة
ClassMethod AnalyzeMemory()
{
Do ##class(%SYSTEM.Process).GetMemoryInfo(.mem)
Write "الذاكرة الكلية: ", mem("Total"), " MB", !
Write "المستخدمة: ", mem("Used"), " MB", !
Write "المتاحة: ", mem("Free"), " MB", !
Write "نسبة الاستخدام: ", (mem("Used")/mem("Total"))*100, "%", !
}