{"id":100221,"date":"2021-05-21T10:23:03","date_gmt":"2021-05-21T08:23:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu"},"modified":"2021-05-21T10:23:03","modified_gmt":"2021-05-21T08:23:03","slug":"optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu","title":{"rendered":"Linuxi optimeerimine 1,2 miljoni JSON-p\u00e4ringu t\u00f6\u00f6tlemiseks sekundis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Avaldati \u00fcksikasjalik juhend Linuxi keskkonna timimise kohta, et saavutada maksimaalne HTTP p\u00e4ringute t\u00f6\u00f6tlemise tulemuslikkus. Pakutud meetodid v\u00f5imaldasid t\u00f5sta JSON-i t\u00f6\u00f6tleja j\u00f5udlust, mis p\u00f5hineb libreactor raamatukogul Amazon EC2 (4 vCPU) keskkonnas 224 000 API p\u00e4ringuni sekundis Amazon Linux 2 vaikeseadetega (kernel 4.14) 1,2 miljoni p\u00e4ringuni sekundis p\u00e4rast optimeerimist (t\u00f5us 436%), samuti v\u00e4hendada p\u00e4ringute t\u00f6\u00f6tlemise viivitusi 79%. Pakutud meetodid ei ole spetsiifilised libreactorile ja toimivad ka muude HTTP serveritega, sealhulgas nginx, Actix, Netty ja Node.js (libreactorit kasutati testides, kuna sellel p\u00f5hinev lahendus n\u00e4itas parimat j\u00f5udlust).      <center><img decoding=\"async\" alt=\"Linuxi optimeerimine 1,2 miljoni JSON-p\u00e4ringu t\u00f6\u00f6tlemiseks sekundis\" src=\"\/wp-content\/uploads\/2021\/05\/908fb8d92e84a3e7557af7f6c622298e.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Peamised optimeerimised:  <\/p>\n<ul>\n<li class=\"l\"> libreactori koodi optimeerimine. Alusena kasutati Techempoweri komplektist R18 versiooni, mille t\u00f5husust suurendati, eemaldades koodi, et piirata kasutatavate CPU tuumarakkude arvu (optimeerimine kasvatas efektiivsust 25-27%), GCC kokkupanekute valikutega &#171;-O3&#187; (t\u00f5us 5-10%) ja &#171;-march-native&#187; (5-10%), asendades read\/write kutsed recv\/send'iga (5-10%) ja v\u00e4hendades pthreadide kasutamisega seotud \u00fclepealekandeid (2-3%). \u00dcksiku koodi optimeerimise tulemusena suurenes efektiivsus 55%, samas kui l\u00e4bilaskev\u00f5ime kasvas 224k req\/s-lt 347k req\/s-le.\n<li class=\"l\"> Spekuleerimist\u00e4itmisega seotud haavatavuste kaitse deaktiveerimine. Tuuma laadimisel kasutatud parameetrid &#171;nospectre_v1 nospectre_v2 pti=off mds=off tsx_async_abort=off&#187; t\u00f5stsid efektiivsust 28% v\u00f5rra, samas kui l\u00e4bilaskev\u00f5ime kasvas 347k req\/s-lt 446k req\/s-le. Eraldi kasu parameetrist &#171;nospectre_v1&#187; (Spectre v1 + SWAPGS kaitse) oli 1-2%, &#171;nospectre_v2&#187; (Spectre v2 kaitse) \u2014 15-20%, &#171;pti=off&#187; (Spectre v3\/Meltdown) \u2014 6%, &#171;mds=off tsx_async_abort=off&#187; (MDS\/Zombieload ja TSX Asynchronous Abort) \u2014 6%. Loodud on kaitse seaded L1TF\/Foreshadow r\u00fcnnakute vastu (l1tf=flush), iTLB multi-looming, spekulatiivne salvestamise vahe ja SRBDS jaoks, mis ei m\u00f5jutanud efektiivsust, kuna need ei kattunud testitud konfiguratsiooniga (n\u00e4iteks olid spetsiifilised) <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4395\">KVM<\/a>, sisemise virtualiseerimise ja teiste CPU mudelite jaoks).\n<li class=\"l\"> S\u00fcsteemi k\u00f5nede auditimehhanismide ja lukustamise akadeemilise eemaldamine k\u00e4suga &#171;auditctl -a never,task&#187; ning valiku &#171;&#8212;security-opt seccomp=unconfined&#187; m\u00e4\u00e4ramine docker konteineri k\u00e4ivitamisel. \u00dcksiku koodi optimeerimise tulemusena suurenes efektiivsus 11%, samas kui l\u00e4bilaskev\u00f5ime kasvas 446k req\/s-lt 495k req\/s-le.\n<li class=\"l\"> Iptables\/netfilter'i deaktiveerimine tuuma seotud moodulite laadimise kaudu. M\u00f5te v\u00e4ljal\u00fclitamisest, mis ei olnud konkreetse serverilahenduse puhul kasutusel, sai inspiratsiooni profiilimise tulemustest, mille kohaselt kulus nf_hook_slow funktsiooni t\u00e4itmiseks 18% ajast. T\u00e4heldatakse, et nftables t\u00f6\u00f6tab t\u00f5husamalt v\u00f5rreldes iptables'iga, kuid Amazon Linuxis kasutatakse endiselt iptables'i. Iptables'i v\u00e4ljal\u00fclitamisega saavutati 22% j\u00f5udluse kasvu ja l\u00e4bilaskev\u00f5ime kasvas 495k req\/s-lt 603k req\/s-le.\n<li class=\"l\"> Erghe m\u00e4luk\u00e4itlejate vahel erinevate CPU tuumade vahel on v\u00e4henenud, et suurendada protsessorik\u00fchvli kasutamise efektiivsust. Optimeerimist tehti nii libreactor protsesside tuumadele (CPU Pinning) sidumise tasemel kui ka tuumade v\u00f5rguk\u00e4itlejate (Receive Side Scaling) kinnitamise kaudu. N\u00e4iteks keelati irqbalance ja seati j\u00e4rjekordade sidumised selgelt CPU-dele failis \/proc\/irq\/$IRQ\/smp_affinity_list. \u00dche ja sama CPU tuuma kasutamiseks libreactor protsessi ja sissetulevate pakettide v\u00f5rgurea t\u00f6\u00f6tlemiseks kasutati kohandatud BPF t\u00f6\u00f6tlejat, mis \u00fchendati SO_ATTACH_REUSEPORT_CBPF lipu seadistamise kaudu soketi loomisel. V\u00e4ljaminevate pakettide j\u00e4rjekordade sidumiseks CPU-dega muudetakse seadeid failis \/sys\/class\/net\/eth0\/queues\/tx-&lt;n&gt;\/xps_cpus. \u00dcksik muita t\u00f5us 38%, samas kui l\u00e4bil\u00f6\u00f6ki t\u00f5usis 603k req\/s pealt 834k req\/s peale.\n<li class=\"l\"> Katkestuste t\u00f6\u00f6tlemise ja pollingu optimeerimine. Adaptive-rx re\u017eiimi lubamine ENA draiveris ja sysctl net.core.busy_read muutmine t\u00f5stis efektiivsust 28% v\u00f5rra (l\u00e4bilaskev\u00f5ime kasvas 834k req\/s-lt 1.06M req\/s-le ja viivitused v\u00e4henesid 361\u03bcs-lt 292\u03bcs-le).\n<li class=\"l\"> S\u00fcsteemiteenuste, mis p\u00f5hjustavad liialt blokeeringut v\u00f5rgu virnas, keelamine. dhclient'i keelamine ja k\u00e4sitsi seadistamine <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/lir\/ipv4\/\"   title=\"IP-aadressid\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"683\">IP-aadressid<\/a> parandas j\u00f5udlust 6% v\u00f5rra ning l\u00e4bilaskev\u00f5ime t\u00f5usis 1,06 M req\/s-lt 1,12 M req\/s-le. dhclient'i m\u00f5ju j\u00f5udlusele on anal\u00fc\u00fcsitud raw-socket'i liikluse j\u00e4lgimise abil.\n<li class=\"l\"> Spin Lock'i v\u00e4hendamine. V\u00f5rgustiku pilete \u00fcleviimine &#171;noqueue&#187; re\u017eiimi kaudu sysctl &#171;net.core.default_qdisc=noqueue&#187; ja &#171;tc qdisc replace dev eth0 root mq&#187; t\u00f5i kaasa 2% efektiivsuse kasvu, samas kui l\u00e4bilaskev\u00f5ime kasvas 1.12M req\/s-lt 1.15M req\/s-le.\n<li class=\"l\"> L\u00f5plikud v\u00e4ikesed optimeerimised, n\u00e4iteks GRO (Generic Receive Offload) v\u00e4ljal\u00fclitamine k\u00e4suga &#171;ethtool -K eth0 gro off&#187; ja \u00fcleminek congestio kontrolleri algoritmilt cubic algoritmile reno kaudu sysctl &#171;net.ipv4.tcp_congestion_control=reno&#187;. \u00dcksiku efektiivse kasvatuse tulemusena suurenes efektiivsus 4%. L\u00e4bilaskev\u00f5ime kasvas 1.15M req\/s-lt 1.2M req\/s-le.          <\/ul>\n<p>Lisaks k\u00e4ideldud optimiseerimistele k\u00e4sitleb artikkel ka meetodeid, mis ei toonud oodatud j\u00f5udluse kasvu. N\u00e4iteks osutusid ebaefektiivseks:    <\/p>\n<ul>\n<li class=\"l\"> libreactori eraldi k\u00e4itamine ei n\u00e4idanud t\u00e4itmisv\u00f5imekuse erinevusi v\u00f5rreldes konteineris k\u00e4itamisega. Writev asendamine send'iga, maxevents suurendamine epoll_wait'is, katsetused versioonidega ja GCC lippudega ei m\u00f5jutanud efektiivsust (m\u00f5ju oli m\u00e4rgatav ainult lippude &#171;-O3&#187; ja &#171;-march-native&#187; jaoks).\n<li class=\"l\"> Linuxi tuuma versioonide 4.19 ja 5.4 uuendamine ei avaldanud j\u00f5udlusele m\u00f5ju, samuti SCHED_FIFO ja SCHED_RR ajakavad, sysctl kernel.sched_min_granularity_ns, kernel.sched_wakeup_granularity_ns, transparent_hugepages=never, skew_tick=1 ja clocksource=tsc manipuleerimine.\n<li class=\"l\"> ENA draiveris ei m\u00f5jutanud Offload (segmenteerimine, scatter-gather, rx\/tx checksum) re\u017eiimide aktiveerimine, kokkupanek lipuga &#171;-O3&#187; ning parameetrite rakendamine ena.rx_queue_size ja ena.force_large_llq_header.\n<li class=\"l\"> Muudatused v\u00f5rgu kuhjas ei suurendanud j\u00f5udlust:\n<ul>\n<li>IPv6 keelamine: ipv6.disable=1<\/li>\n<li>VLAN-i keelamine: modprobe -rv 8021q<\/li>\n<li>Pakumi allika kontrollimise keelamine\n<ul>\n<li>net.ipv4.conf.all.rp_filter=0<\/li>\n<li>net.ipv4.conf.eth0.rp_filter=0<\/li>\n<li>net.ipv4.conf.all.accept_local=1 (negatiivne efekt)<\/li>\n<\/ul>\n<\/li>\n<li>net.ipv4.tcp_sack=0<\/li>\n<li>net.ipv4.tcp_dsack=0<\/li>\n<li>net.ipv4.tcp_mem\/tcp_wmem\/tcp_rmem <\/li>\n<li>net.core.netdev_budget<\/li>\n<li>net.core.dev_weight<\/li>\n<li>net.core.netdev_max_backlog<\/li>\n<li>net.ipv4.tcp_slow_start_after_idle=0 <\/li>\n<li>net.ipv4.tcp_moderate_rcvbuf=0<\/li>\n<li>net.ipv4.tcp_timestamps=0<\/li>\n<li>net.ipv4.tcp_low_latency=1<\/li>\n<li>SO_PRIORITY<\/li>\n<li>TCP_NODELAY<\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55186\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0442\u044e\u043d\u0438\u043d\u0433\u0443 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f Linux \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 JSON \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libreactor \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438 Amazon EC2 (4 vCPU) c 224 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 API \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043f\u0440\u0438 \u0448\u0442\u0430\u0442\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 Amazon Linux 2 \u0441 \u044f\u0434\u0440\u043e\u043c 4.14 \u0434\u043e 1.2 \u043c\u043b\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":100222,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-100221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0442\u044e\u043d\u0438\u043d\u0433\u0443 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f Linux \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f Linux \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 1.2 \u043c\u043b\u043d JSON-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0442\u044e\u043d\u0438\u043d\u0433\u0443 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f Linux \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-05-21T08:23:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-05-21T08:23:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Linuxi optimeerimine 1,2 miljoni JSON-p\u00e4ringu t\u00f6\u00f6tlemiseks sekundis | ProHoster","description":"Avaldatud on \u00fcksikasjalik juhend Linuxi keskkonna h\u00e4\u00e4lestamiseks, et saavutada maksimaalne HTTP-p\u00e4ringute t\u00f6\u00f6tlemise j\u00f5udlus.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f Linux \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 1.2 \u043c\u043b\u043d JSON-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0442\u044e\u043d\u0438\u043d\u0433\u0443 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f Linux \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/optimizacziya-linux-dlya-obrabotki-1-2-mln-json-zaprosov-v-sekundu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-05-21T08:23:03+00:00","article:modified_time":"2021-05-21T08:23:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100221","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-05-21 09:18:54","updated":"2026-02-08 20:24:03","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/100221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=100221"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/100221\/revisions"}],"predecessor-version":[{"id":164272,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/100221\/revisions\/164272"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/100222"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=100221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=100221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=100221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}