-
Notifications
You must be signed in to change notification settings - Fork 0
/
japronto-neymis.html
146 lines (117 loc) · 8.38 KB
/
japronto-neymis.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="utf-8">
<title> Japronto Neymiş?
</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="0x656e" />
<meta name="description" content="Uvloop ve picohttpparser tabanlı çok hızlı, ölçeklendirilebilir, asenkron bir HTTP araç takımıdır. Yazan kişi böyle söylüyor en azından. Eğer benchmark grafikleri de doğruysa ben bundan sonra bunu kullanırım. Hemen grafiği aşağıya iliştiriyorum. Performans Bu grafikte yüksek olan iyi demektir. Bu benchmark AWS c4.2xlarge makinesinde yapılmış. Yük testinde adlı toolu …" />
<meta name="keywords" content="japronto nedir?, introduction of japronto, python web server, python web framework">
<meta property="article:tag" content="japronto nedir?" />
<meta property="article:tag" content="introduction of japronto" />
<meta property="article:tag" content="python web server" />
<meta property="article:tag" content="python web framework" />
<link rel="canonical" href="https://enesergun.net/japronto-neymis.html"/>
<meta name="description" content=""/>
<!-- og definitions -->
<meta property="og:type" content="article" />
<meta property="og:url" content="https://enesergun.net/japronto-neymis.html" />
<meta property="og:title" content="Japronto Neymiş?" />
<meta property="og:description" content="Uvloop ve picohttpparser tabanlı çok hızlı, ölçeklendirilebilir, asenkron bir HTTP araç takımıdır. Yazan kişi böyle söylüyor en azından. Eğer benchmark grafikleri de doğruysa ben bundan sonra..." />
<meta property="og:image" content="https://w0.peakpx.com/wallpaper/212/918/HD-wallpaper-virtual-world-sunset-80s-landscape-retro-theme-tron.jpg" />
<link rel="stylesheet" href="theme/style.css">
<link href="https://enesergun.net/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Enes Ergün Atom Feed" />
</head>
<body>
<div class="container">
<header class="blog-header">
<h1><a href="https://enesergun.net" class="glitch glow" data-text="Enes Ergün">Enes Ergün</a></h1>
<p> Chaotic Neutral / ISTP-T - 30 lvl rogue - Cyber Security </p>
<nav>
<a href="https://enesergun.net/">INDEX</a>
<a href="https://enesergun.net/archives">ARCHIVES</a>
<a href="https://enesergun.net/categories">CATEGORIES</a>
</nav>
</header>
<div class="post">
<header>
<h1>Japronto Neymiş?</h1>
<p class="date">Written on <time datetime="2018-05-01T16:12:00+03:00">May 01, 2018</time></p>
</header>
<article>
<p>Uvloop ve picohttpparser tabanlı çok hızlı, ölçeklendirilebilir, asenkron bir HTTP araç takımıdır. Yazan kişi böyle söylüyor en azından. Eğer benchmark grafikleri de doğruysa ben bundan sonra bunu kullanırım.</p>
<p>Hemen grafiği aşağıya iliştiriyorum. </p>
<h4>Performans</h4>
<p><img alt="Performans" src="https://github.com/squeaky-pl/japronto/raw/master/benchmarks/results.png"></p>
<p>Bu grafikte yüksek olan iyi demektir. Bu benchmark AWS c4.2xlarge makinesinde yapılmış. Yük testinde </p>
<p>adlı toolu 1 çekirdek 100 bağlantı ve bağlantı başına 24 istek konfigürasyonu ile kullanmışlar.</p>
<p>İlgili testte kullanılan kod örneklerine erişmek isterseniz:</p>
<p><a href="https://github.com/squeaky-pl/japronto/tree/master/benchmarks">Benchmarks</a></p>
<h4>Basit Bir Web Uygulaması</h4>
<p>En basit halde bir web uygulaması yazabilmek için:</p>
<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">japronto</span> <span class="kn">import</span> <span class="n">Application</span>
<span class="k">def</span> <span class="nf">hello</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">Response</span><span class="p">(</span><span class="n">text</span><span class="o">=</span><span class="s1">'Hello world!'</span><span class="p">)</span>
<span class="n">app</span> <span class="o">=</span> <span class="n">Application</span><span class="p">()</span>
<span class="n">app</span><span class="o">.</span><span class="n">router</span><span class="o">.</span><span class="n">add_route</span><span class="p">(</span><span class="s1">'/'</span><span class="p">,</span> <span class="n">hello</span><span class="p">)</span>
<span class="n">app</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">debug</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</code></pre></div>
<h4>Özellikler</h4>
<p>HTTP 1.x Parçalı yüklemeleri destekliyor. ( Chunk Upload ) : <a href="https://gist.github.com/CMCDragonkai/6bfade6431e9ffb7fe88">[Ayrıntı]</a></p>
<p>HTTP pipelining'e tam destek veriyor. ( Aşağıda açıklayacağım )</p>
<p>Canlı bağlantıları yapılandırabilmeye olanak sağlıyor.</p>
<p>Asenkron ve Senkron çalışma biçimlerini destekliyor.</p>
<p>Bunu anlamadım: Master-multiworker model based on forking</p>
<p>Yönlendirmeler basit bir şekilde yapılabiliyor.</p>
<p>Kod değişikliği sonrası HTTP Serverın tekrar çalışıyor.</p>
<h5>HTTP Pipelining Nedir?</h5>
<p>Birden fazla get, head gibi taleplerin tek bir paket içerisinde sunucuya iletilmesi anlamına gelmektedir.</p>
<p>Aşağıda ki grafikte herşey açıkca belli oluyor.</p>
<p><img alt="" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/HTTP_pipelining2.svg/1200px-HTTP_pipelining2.svg.png"></p>
<h4>Benim Yorumum</h4>
<p>Grafiklerin doğruluğunu kabul edersek bence kesinlikle denenmesi gereken bir HTTP server. Fakat kompleks bir uygulama yazacaksanız bence bunu enine boyuna düşünmelisiniz. Çünkü burada uygulama içerisinde ki bir çok fonksiyonu elinizle yazmanız gerekecek. Bunun yerine Django, Flask gibi frameworkleri kullanmak şu aşamada bana daha mantıklı geliyor. Karşılaştırmamın hatalı olduğunu biliyorum sonuçta bu bir Framework değil bir HTTP Server.</p>
<p>İlgili Github Sayfası : <a href="https://github.com/squeaky-pl/japronto">https://github.com/squeaky-pl/japronto</a></p>
</article>
<footer>
<p>This entry is posted in <a href="https://enesergun.net/category/python.html">python</a>.</p>
</footer>
<div class="comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = '0x656e';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
</div>
<footer class="blog-footer">
<ul class="nav">
<li><a href="https://devilinside.me/"> Eşelyon</a></li>
<li><a href="https://medium.com/@brkalbyrk"> Berk Albayrak</a></li>
<li><a href="https://ahmtglr.wordpress.com/"> Ahmet Güler</a></li>
<li><a href="https://kaganisildak.com/"> Kağan Işıldak</a></li>
<li><a href="https://eybisi.run/"> Eybisi</a></li>
<li><a href="https://onur.im/"> Onur Aslan</a></li>
<li><a href="https://canyoupwn.me/"> Canyoupwn.me</a></li>
<li><a href="https://www.oguzozkeroglu.com"> Oğuz Özkeroğlu</a></li>
<li><a href="https://aligoren.com"> Ali Gören</a></li>
<li><a href="https://0xf61.gitlab.io/"> Emir Kurt</a></li>
<br>
<li><a href="www.twitter.com/eness_ergun">Twitter</a></li>
<li><a href="[email protected]">Mail</a></li>
</ul>
<p class="disclaimer">
Built with <a href="http://getpelican.com">Pelican</a>, and <a href="https://github.com/ka1nsha/MBPelican">MB Pelican</a> theme.
</p>
</footer>
</div>
</body>
</html>