English 中文(简体)
快速连续快速登录网络服务
原标题:Fast sequential logging for webservices

我的网络服务结构如下:

  1. Receive request
  2. Parse and validate input
  3. Do actual webservice
  4. Validate output

我主要用伐木作为调试目的, 如果出了差错, 我想知道请求是什么, 希望复制请求(即发送相同的请求) 。

目前我正在登录到 MySQL 数据库表。 1 之后创建了记录,该记录在2和3之后以更多的信息更新,并在4之后清理(成功请求的图表被浏览)。

我希望记录能尽可能快和无痛。 任何加快这里的速度都会大大改善总体业绩(每项请求的往返行程 ) 。

我想使用 INSERT DELAYED ,但我无法这样做,因为我需要 LAST_INSERT_ID 来更新和随后删除日志记录,或至少记录请求的状况(即成功或错误),以便我知道何时可以提取。

我可以自己生成一个独特的代号(或至少一个非常独特的代号),但即使如此,我也不会知道 DELAYED 语句的顺序,我也可能最终试图更新或删除一个尚不存在的记录。而且由于 DELAYED 也失去了使用 NUM_AFEDED_ROOS 的能力,我无法检查询问是否有效。

有什么建议吗?

最佳回答

我想也许我可以做一个 REPLACE DELAYED ,改天再做剪裁。 (使用 DELETE DELEEED )。

问题回答

当您说预选了假设成功时, 您删除了记录吗? 如果是这样的话, 如果您有一个 Java 对象储存信息而不是数据库, 将会对您更好 。 当过程展开时, 如果出现例外, 您会同时将对象中的信息登录到数据库中 。

如果您想再进一步, 我做了一些类似的事情, 我有一个服务, 排队记录审计数据, 并以稳定的速度插入信息, 所以如果服务被敲碎了, 服务不是用记录对帐单堵住 DB, 但如果你唯一的记录错误 很可能是过度的。





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签