分析生产代码

2023-11-25

我正在考虑实现一些在生产服务器上分析代码的东西,并需要一些最佳实践建议。显然,分析所有请求是一个坏主意,因为会增加开销,因此我正在研究一些可以根据请求随机调用分析器的技术。类似于每 10,000 个请求 1 个配置文件。

我知道有一种方法可以通过 Facebook 来完成这样的任务XHProf 分析器但希望使用 xdebug 得到类似的解决方案。

所以我的问题是(假设 xdebug 是分析器):

  1. 这种功能值得推荐吗?我想从生产环境中获取一些真实世界的数据,但如果这意味着由于开销而破坏用户体验,则不会。
  2. 在生产环境中安装 xdebug 是否会以任何方式向攻击者/利用者开放服务器(假设未启用调试器)?是否有适用于此类设置的样板配置?
  3. 触发分析器以获得适当样本量的最佳方法是什么?

对此事的任何其他见解将不胜感激。


不要重新发明轮子。当涉及到在生产环境中分析代码时,XHProf Profiler 绝对是最好的工具。

在 xdebug 中启用分析的选项仅限于通过 php.ini 文件始终打开分析或通过 .htaccess 文件进行分析xdebug.profiler_enable = 1或通过选择性地打开分析xdebug.profiler_enable_trigger = 1。在后一种情况下,您必须有一个XDEBUG_PROFILEGET 或 POST 参数设置或发送带有名称的 cookieXDEBUG_PROFILE。这意味着,如果有人想恶作剧,他们可以通过简单地将 GET 参数附加到一堆请求中来减慢您的服务器速度。

我能看到的唯一可以分析相对随机的请求样本的选项是让 cron 脚本定期将 .htaccess 文件放置在适当的目录中,然后将其移出该目录。尽管如此,这还是不太理想。

如果您决定选择 XHProf,请查看XHGUI.

http://phpadvent.org/2010/profiling-with-xhgui-by-paul-reinheimer

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分析生产代码 的相关文章

  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • 从 FilterControllerEvent 监听器重定向到另一个 Symfony 路由

    我正在尝试设置一个 kernel controller 侦听器 以便在函数返回 true 时重定向到另一个路由 我有可用的路线 但无法使用此路线设置控制器 event gt setController 我收到以下错误 FilterContr
  • php表格:每行显示3个单元格[重复]

    这个问题在这里已经有答案了 我看这里 数组放入每行 5 个单元格的表格中 https stackoverflow com questions 9099568 array into a table with 5 cells in each r
  • 关于加拿大短信网关提供商的建议[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我很好奇 如果我能够接受传入的短信到某个号码 然后将其传递给 PHP 中的服务器端应用程序 会带来多少麻烦 金钱 我最终会通过电子邮件地址发回短信 有
  • Magento补丁安装失败

    从以下位置下载并运行 Magento PHP 5 4 支持补丁 Magento CE v1 7 0 0 1 7 0 2 时http www magentocommerce com download http www magentocomme
  • strlen()==0 和empty()之间有区别吗?

    我正在查看其他人编写的一些表单验证代码 我看到了这个 strlen 0 当测试表单变量是否为空时 我使用empty 功能 一种方法比另一种方法更好吗 它们在功能上等效吗 strlen是获取字符串中的字符数 同时empty用于测试变量是否为空
  • php 如何统计文件夹中的文件数量?

    我想让用户能够在自己的文件夹中上传一些文件 图片 但只有当该文件夹包含的图片少于五张时才可能 如果已经有 5 张图片 脚本必须让用户知道他 她的文件夹已满 所以 我想知道php中是否有函数可以计算文件夹中的文件数量 或者 php 中有其他方
  • 使用 php 更改白天和黑夜的背景?

    我正在制作一个 tumblr 页面 我的 html 页面有两种不同的背景 我希望白天背景从早上 7 点到晚上 8 点显示 夜间背景从晚上 8 点到早上 7 点显示 我决定用 php 来做这件事 但对于 php 来说我是个新手 我的朋友给我发
  • 如何从导出的 csv 文件中删除双引号

    我正在使用 Laravel 5 8 并且添加了 Maatwebsite 包 用于从数据库表导出 CSV 文件 这是我导出的类 class ConfirmedExport implements FromCollection WithHeadi
  • PHP 中的 Preg_replace

    我想替换 中包含的字符串中的内容content 它是多行等 preg replace 函数应该删除整个 com 没有垫子 蒙特 尝试这个 result preg replace s replacement content subject
  • CakePHP Xml 实用程序库触发 DOMDocument 警告

    我正在使用 CakePHP 在视图中生成 XMLXML核心库 http book cakephp org 2 0 en core utility libraries xml html xml Xml build data array ret
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • PHP文件上传

    如果我想在文件名转到服务器的永久位置 而不是临时位置 之前更改文件名 我该如何执行此操作 代码如下
  • 为什么 PHP 中不允许“传统”类型提示?

    刚刚发现类型提示 http php net manual en language oop5 typehinting phpPHP 中允许 但不适用于整数 字符串 布尔值或浮点数 为什么 PHP 不允许对整数 字符串等类型进行类型提示 从 P
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri
  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function

随机推荐

  • 在 python shell 中向前和向后打印带有点的文本“正在加载”

    我想打印文本 正在加载 但它的点会前后移动 在shell 我正在创建一个文字游戏 因此它看起来会更好 我知道慢慢写一个字 但点也得往后退 我想我应该忘记点回来 为此 import sys import time shell sys stdo
  • ios 如何处理大文件上传?

    我的应用程序需要从用户手机上传视频文件 然后在服务器上进行处理 问题是文件大小可能达到 200 MB 以上 并且用户不会保持应用程序打开以等待文件上传 由于苹果不允许应用程序在后台运行超过有限的时间 如何确保我的文件已上传 我正在使用 af
  • Angular2 typescript 中的第三方 JS

    我对 Angular 和 TypeScript 很陌生 所以这可能是非常基本的 我正在尝试在模板中制作带有图表 使用 Chart js 的 angular2 组件 我意识到有一个图表指令正在开发 专门使用 Chart JS 但我想了解如何做
  • 在名称与其 getter 不同的字段上使用 jackson 注释 JsonUnwrapped

    我有一堂课 比如 class Car private Engine myEngine JsonProperty color private String myColor JsonProperty maxspeed private int m
  • Wikidata - SPARQL 查询的请求限制

    查询次数有限制吗Wikidata 仅 SPARQL 查询 不编辑 我找不到任何关于此的官方文档 我想知道每分钟 小时 以及每个 IP 地址 的强查询限制有多大 是的 有限制 单个查询当前限制为 1 分钟运行时间 文档在这里 https ww
  • 不变性的真正定义?

    我想知道不变性是如何定义的 如果这些值没有公开 因此无法修改 那么这就足够了吗 是否可以在类型内部修改值 而不是由类型的客户修改 或者只能将它们设置在构造函数中 如果是这样 在双重初始化的情况下 使用this结构上的关键字等 对于不可变类型
  • app.js 中的全局变量可在路由中访问吗?

    我如何设置一个变量app js并使其在所有路线上都可用 至少在index js文件位于路径中 使用express框架和node js 实际上 使用 Express 对象上可用的 set 和 get 方法可以很容易地做到这一点 示例如下 假设
  • 如何在 MATLAB 中删除轴

    axis off不工作 function displayResults filename hObject eventdata handles Open filename file for reading fid fopen filename
  • 为什么Java的Arrays.sort方法对不同的类型使用两种不同的排序算法?

    Java 6 的Arrays sort方法对基元数组使用快速排序 对对象数组使用合并排序 我相信大多数时候快速排序比合并排序更快并且消耗更少的内存 我的实验支持这一点 尽管两种算法都是 O n log n 那么为什么不同的类型使用不同的算法
  • AFNetworking-2 waitUntilFinished 不起作用

    我知道有另一个类似的问题 但它适用于旧版本的 AFNetworking 而且并没有真正回答它 我有以下代码 AFHTTPRequestOperationManager manager AFHTTPRequestOperationManage
  • Google Maps API a.lat 不是函数错误

    我正在创建一个代码 可以通过使用分割作为分隔符来协调 CSV 文件中的数据 并计算两个输入坐标之间的距离 但结果总是显示错误a lat is not a function 我已经在网上浏览了有关此特定错误类型的信息 但似乎找不到正确的解决方
  • C# 中可调整大小的表格布局面板

    我发现 c net 2 0 中的表格布局面板非常原始 我希望允许我的用户调整表格布局面板中的列大小 但没有现成的选项可以执行此操作 有没有办法至少找出光标是否直接位于单元格的任何边框上 如果是 则哪个单元格位于其下方 可能有了这些信息 我们
  • 如何使用应用内自定义键盘的按钮输入文本

    我制作了一个应用程序内自定义键盘 它取代了系统键盘 并在我点击内部时弹出UITextField 这是我的代码 class ViewController UIViewController var myCustomKeyboard UIView
  • 数据表过滤:linq 与过滤器?

    过滤内存对象 数据表 这样做之间有很大的不同吗 var t dt Select id 2 vs var g dt AsEnumerable Where f gt f id ToString 2 我假设DataTable Select需要更多
  • 在 3D 世界中渲染 2D 精灵?

    假设我有精灵的 png 如何在 OpenGL 中渲染 2D 精灵 将图像作为我想要实现的效果的示例 另外 我想在屏幕上覆盖武器 例如底部图像中的步枪 有谁知道我如何实现这两种效果 任何帮助是极大的赞赏 在 3D 术语中 这称为 广告牌 广告
  • 计算太阳位于地平线以下/之上 X 度的时间

    我想知道太阳在地平线以下 之上 X 度的时间是什么时候 例如 我想找到太阳位于地平线以下 19 75 度的时间 我认为这与函数中的最高点有关date sunrise date sunset但我不确定 提前致谢 收集您需要的日期的太阳星历数据
  • 当我运行 Angular 4 应用程序时,哪个文件首先运行该应用程序?

    我正在使用 Angular 4 我有一个问题 当我运行项目并使用 ngserve 时 项目中的哪个文件首先呈现 有很多文件 例如main ts angular cli json app module我不明白当我运行 ngserve 时发生了
  • 从 ElasticSearch 中的数组中删除元素/对象,然后进行匹配查询

    我在尝试从 elasticsearch 中的数组中删除元素 对象时遇到问题 这是索引的映射 example1 mappings doc properties locations type geo point postDate type da
  • 是什么 !! JavaScript 中的(不是 not)运算符?

    我看到一些代码似乎使用了我不认识的运算符 以两个感叹号的形式 如下所示 有人可以告诉我这个操作员是做什么的吗 我看到这个的背景是 this vertical vertical undefined vertical this vertical
  • 分析生产代码

    我正在考虑实现一些在生产服务器上分析代码的东西 并需要一些最佳实践建议 显然 分析所有请求是一个坏主意 因为会增加开销 因此我正在研究一些可以根据请求随机调用分析器的技术 类似于每 10 000 个请求 1 个配置文件 我知道有一种方法可以