投稿HTTPリクエストを最適化します。私のシステムはサーバーとクライアントで構成されています。 クライアントはイメージを送信し、サーバーはそれをデータベースに保存します。RoRで投稿HTTPリクエストを高速化するには
この要求されます。
res = Net::HTTP.post_form(uri, :mac => 'String', :value => 'ImageData(stringa di 22k circa)')
サーバーは、データベースと、この操作を行います。私の意見で
Started POST "/events/save_photo" for 192.168.0.113 at 2012-03-30 09:27:27 +0200
Processing by EventsController#save_photo as */*
Parameters: {"data_type"=>"image", "value"=>"!binary |\n /9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhE...(very long parameter", "created_at"=>"2012-03- 30 09:26:29 +02:00", "mac"=>"00606E91E5D2"}
WARNING: Can't verify CSRF token authenticity
`[[ (0.3ms)] [1mSET PROFILING=1]
[[Device Load (1.2ms)] SELECT SQL_NO_CACHE `devices`.* FROM `devices` WHERE `devices`.`mac` = '00606E91E5D2' LIMIT 1
[[CACHE (0.0ms)] [1mSELECT `devices`.* FROM `devices` WHERE `devices`.`mac` = '00606E91E5D2' LIMIT 1]
[[(0.4ms)] BEGIN
[[SQL (2.3ms)] [INSERT INTO `multimedia` (`created_at`, `data`) VALUES ('2012-03-30 07:26:29', x'f22b19237b63f1c8c40da49ae5eb68969dd3cf28193ba...',)]
[[ (61.9ms)] COMMIT
[[ (0.2ms)] [BEGIN]
[[SQL (0.6ms)] INSERT INTO `events` (`created_at`, `data_type`, `device_id`, `element_id`, `multimedia_id`, `name`, `status`, `updated_at`, `value`) VALUES ('2012-03-30 07:26:29', 'image', 23, 163785, 1065577, 'photo', NULL, '2012-03-30 07:27:28', '--- 0\n...')
[[ (36.6ms)] [COMMIT]
[[35m (0.3ms)] BEGIN
[[ (0.4ms)] [SET PROFILING=1]
[[ (1.1ms)] SELECT SQL_NO_CACHE 1 FROM `devices` WHERE (`devices`.`mac` = BINARY '00606E91E5D2' AND `devices`.`id` != 23) LIMIT 1
[[ (0.8ms)] [UPDATE `devices` SET `elem_photo_id` = 163804, `updated_at` = '2012-03-30 07:27:30' WHERE `devices`.`id` = 23]
[[ (78.9ms)] COMMIT
Rendered events/save_photo.html.erb (0.2ms)
Completed 200 OK in 358.4ms (Views: 11.6ms | ActiveRecord: 246.2ms)`
この時間は受け入れられません。私はこの操作がより速くなるだろう!出来ますか?
は、私は、この方法は、画像の文字列を長くするのBase64を使用していない注意を作り、私はメモリ
なぜ、合計時間は358msですか?表示時間+ ActiveRecord時間は257msですか? – Dabidi
イメージをファイルシステムに保存すると、パフォーマンスが向上します –