maximaster/bitrix-sql-profile

简化了测量个别热点性能的过程。

v1.0.0 2024-08-29 12:32 UTC

This package is auto-updated.

Last update: 2024-08-29 12:34:15 UTC


README

性能监控模块允许收集执行查询的数据。这在需要评估整体情况并找到瓶颈时非常方便。然而,有时需要测量特定页面的性能。

本包简化了这一任务。不需要全局启用监控,只需在包含预期触发器的查询中启用监控即可。

composer require maximaster/bitrix-sql-profile

如何连接?

您可以在任何时候开始测量,但越早开始,信息就越准确,因为它将考虑整个工作周期,而不仅仅是其中的一部分。

建议通过文件 bitrix/php_interface/after_connect_d7.php 连接此功能。

// Опционально. В каких глобальных массивах будет проверяться триггер?
// Значения по умолчанию указаны в примере, если они вас устраивают, тогда не
// копируйте данную строку вовсе.
define('BITRIX_SQL_PROFILE_TRIGGERS', ['_GET', '_POST', '_COOKIE', '_ENV']);

// Опционально. Имя переменной для триггера. Например, можно сделать короче,
// если хочется. В примере дано значение по умолчанию, не копируйте строку,
// если оно устраивается.
define('BITRIX_SQL_PROFILE_TRIGGER_NAME', 'BITRIX_SQL_PROFILE');

// Значение триггера, которое будет активировать монитор.
define('BITRIX_SQL_PROFILE_VALUE', /* ЗАМЕНИТЕ КОММЕНТАРИЙ ВАШЕЙ СТРОКОЙ! */);

include_once $_SERVER['DOCUMENT_ROOT'].'/../vendor/maximaster/bitrix-sql-profile/inc/use_bitrix_sql_profiler.php';

或者,您可以直接连接 SqlProfiler 并使用 if 方法自行确定监控何时开启。请参阅本包中的 inc/use_bitrix_sql_profiler.php 以获取示例。

如何使用?

向网站发送包含触发器和其值的请求

https://example.com/somepage/?BITRIX_SQL_PROFILE=mysecretvalue

转到管理员控制台中的热点页面或任何其他监控页面

https://example.com/bitrix/admin/perfmon_hit_list.php?lang=ru