我正在Haskell中编写一个简单的https getter代码.收到响应后,我将其保存到压缩文件中.然而,与curl和gzip组合相比,我的版本非常慢.如何使卷曲更快?详情如下.
Haskell代码(fetcher.hs):
import Control.Lens
import qualified Codec.Compression.GZip as GZip
import qualified Data.ByteString.Lazy as BL
import Network.Wreq
writeURIBodyToFile :: FilePath -> String -> IO()
writeURIBodyToFile filePath uri = do
response <- get uri
let body = (response ^. responseBody)
BL.writeFile filePath (GZip.compress body)
main :: IO ()
main = writeURIBodyToFile "out.html.gz" "https://www.sahibinden.com/ilan/vasita-otomobil-seat-hatasiz-boyasiz-tramersiz-dsg-leon-469484363/detay/"
Run Code Online (Sandbox Code Playgroud)
Haskell结果:
$ ghc -o fetcher fetcher.hs
$ time ./fetcher
real 0m9.240s
user 0m8.840s
sys 0m0.232s
Run Code Online (Sandbox Code Playgroud)
卷曲结果:
$ time curl "https://www.sahibinden.com/ilan/vasita-otomobil-seat-hatasiz-boyasiz-tramersiz-dsg-leon-469484363/detay/" | gzip > out.html.gz
% Total % Received …Run Code Online (Sandbox Code Playgroud) 我有一个AWS Lambda函数,由SQS触发.此功能每天触发约100次,但对SQS队列的请求计数约为每天20.000次.我不明白为什么对SQS提出的请求数量太高.我的期望是对SQS的请求数应与Lambda调用相同.
我的帐户中只有一个Lambda函数和一个SQS队列.
可以与SQS队列的轮询相关吗?我试图从队列配置中更改SQS的轮询间隔,但没有任何改变.另一种可能性是从Lambda函数配置更改轮询间隔.但是,我找不到任何相关参数.
简而言之,我想减少SQS请求的数量,如何在使用SQS调用Lmabda函数时这样做?