com presentations: update generated file: expotec.html

[email protected] (Rasmus Lerdorf) Fri, 26 Aug 2016 00:29:17 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Commit:    9dbac6954cd9cb2f3236ea73a4e52920b82b7728
Author:    Rasmus Lerdorf <[email protected]>         Thu, 25 Aug 2016 21:29:17 -0300
Parents:   833d75b46e1518301bb5fdd7a4241e132d6f8ae6
Branches:  master

Link:       http://git.php.net/?p=presentations.git;a=commitdiff;h=9dbac6954cd9cb2f3236ea73a4e52920b82b7728

Log:
update generated file

Changed paths:
  M  expotec.html
diff_9dbac6954cd9cb2f3236ea73a4e52920b82b7728.txt (text/plain, 15.2 KB)
diff --git a/expotec.html b/expotec.html
index d2d79ab..06e5254 100644
--- a/expotec.html
+++ b/expotec.html
@@ -561,8 +561,8 @@ $bytes = random_bytes(10);
 
 var_dump( $int );
 var_dump( bin2hex($bytes) );</code></pre>
-		<pre class="output" style="font-size:1.2em;">int(353)
-string(20) "49bb56fd2bafa9229fcd"
+		<pre class="output" style="font-size:1.2em;">int(-221)
+string(20) "f083364202516c8c5845"
 		</pre>		</section>	</section>
 	<section>
 		<section id="php7perfdetail">
@@ -1007,193 +1007,6 @@ protected function write(array $record)
 }</code></pre>
 		</section>	</section>
 	<section>
-		<section id="php7_tune_phpinfo">
-		<h2 margin-bottom="2em">PHP 7 Tuning</h2><br>
-		<p class="p" style="font-size:2em;">Check your phpinfo()</p>
-		<img src="/presentations/slides/intro/phpinfo1.png"  width="714" height="94">
-		</section>
-<section id="php7_tune_opcache">
-		<p class="p" style="font-size:2em;">Opcache</p>
-		<pre><code class="ini" data-trim style="font-size:1.1em;">opcache.memory_consumption=2048
-opcache.max_accelerated_files=100000
-opcache.validate_timestamps=1
-opcache.revalidate_freq=2
-opcache.save_comments=0
-opcache.enable_file_override=0
-opcache.enable_cli=0
-opcache.max_wasted_percentage=10
-opcache.interned_strings_buffer=128
-opcache.fast_shutdown=1
-opcache.huge_code_pages=1</code></pre>
-		</section>
-<section id="php7_tune_opcache2">
-		<p class="p" style="font-size:2em;">Opcache</p>
-		<img src="/presentations/slides/intro/phpinfo2.png"  width="710" height="418">
-		</section>
-<section id="php7_tune_huge">
-		<p class="p" style="font-size:2em;">Huge Pages</p>
-		<pre><code class="shell nohighlight" data-trim style="font-size:1.2em;">$ sysctl -w vm.nr_hugepages=512
-vm.nr_hugepages = 512
-(Add it to your /etc/sysctl.conf)
-
-$ grep Huge /proc/meminfo
-AnonHugePages:      6144 kB
-HugePages_Total:     512
-HugePages_Free:      300
-HugePages_Rsvd:        0
-HugePages_Surp:        0
-Hugepagesize:       2048 kB</code></pre>
-		<pre><code class="ini" data-trim style="font-size:1.1em;">USE_ZEND_ALLOC_HUGE_PAGES=1 httpd ...</code></pre>
-		</section>
-<section id="php7_tune_realpath">
-		<p class="p" style="font-size:2em;">increase realpath_cache_size</p>
-		<pre><code class="ini" data-trim style="font-size:2em;">realpath_cache_size=128k</code></pre>
-		</section>
-<section id="php7_tune_mysql">
-		<p class="p" style="font-size:2em;">If using MySQL, use mysqlnd</p>
-		<img src="/presentations/slides/intro/mysqli.png" align="center" width="958" height="167">
-		<img src="/presentations/slides/intro/pdo.png" align="center" width="952" height="95">
-		<p class="p" style="font-size:1em;">Check your command buffer usage</p>
-		<img src="/presentations/slides/intro/mysqlnd.png" align="center" width="947" height="140">
-		</section>
-<section id="php7_tune_tmpfs">
-		<p class="p" style="font-size:2em;">DocumentRoot on tmpfs</p>
-		<pre><code class="shell nohighlight" data-trim style="font-size:1em;">$ mount | grep tmpfs
-tmpfs on /var/www type tmpfs (rw,relatime,size=12288000k,mode=755)
-
-$ ls -la /var/www
-total 5
-drwxr-xr-x  5 root   root    160 Feb 23 02:47 .
-drwxr-xr-x 26 root   root   4096 Feb  7 19:40 ..
-lrwxrwxrwx  1 root   root     14 Feb 23 02:47 current -&gt; /var/www/A
-drwxrwxr-x 25 apache apache  640 Feb 11 22:04 A
-drwxrwxr-x 25 apache apache  640 Feb 11 22:04 B</code></pre>
-		</section>
-<section id="php7_tune_app">
-		<p class="p" style="font-size:2em;">Application-level changes?</p>
-<p class="example">Remember this?</p>
-		<pre><code data-trim style="font-size:1.1em;">$a = [];
-for($i=0; $i &lt; 100000;$i++) {
-    $a[] = ['abc','def','ghi','jkl','mno','pqr'];
-}
-echo memory_get_usage(true);
-
-// PHP 5.x  109M
-// PHP 7.0   42M no opcache
-// PHP 7.0    6M with opcache enabled</code></pre>
-<p class="example">Use it!</p>
-		<pre><code data-trim style="font-size:1.1em;">include 'config.php'; // $config = [ ... ]</code></pre>
-		<pre><code data-trim style="font-size:1.1em;">include 'countries.php'; // $countries = [ 'CA'=&gt;'Canada', ... ]</code></pre>
-		</section>	</section>
-	<section>
-		<section id="numa">
-		<h2 margin-bottom="2em">Hyperthreading and NUMA</h2><br>
-		<ul>
-			<li style="font-size: 1em;list-style-type: circle;">HyperThreading handles extreme loads better</li>
-			<li style="font-size: 1em;list-style-type: circle;">If you don't have multi-socket servers, turn on HT and move on</li>
-			<li style="font-size: 1em;list-style-type: circle;">For multi-socket servers, things get interesting</li>
-		</ul>
-		</section>
-<section id="numa_singlesocket">
-<p class="example">Digital Ocean</p>
-		<pre><code class="shell nohighlight" data-trim style="font-size:1em;">$ lscpu
-Architecture:          x86_64
-CPU op-mode(s):        32-bit, 64-bit
-Byte Order:            Little Endian
-CPU(s):                2
-On-line CPU(s) list:   0,1
-Thread(s) per core:    1
-Core(s) per socket:    1
-Socket(s):             2
-NUMA node(s):          1
-Vendor ID:             GenuineIntel
-CPU family:            6
-Model:                 63
-Model name:            Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz
-Stepping:              2
-CPU MHz:               1797.917
-BogoMIPS:              3595.83
-Virtualization:        VT-x
-Hypervisor vendor:     KVM
-Virtualization type:   full
-L1d cache:             32K
-L1i cache:             32K
-L2 cache:              256K
-L3 cache:              30720K
-NUMA node0 CPU(s):     0,1</code></pre>
-		</section>
-<section id="numa_multisocket">
-<p class="example">Multi-socket bare metal without HT</p>
-		<pre><code class="shell nohighlight" data-trim style="font-size:1em;">$ lscpu
-Architecture:          x86_64
-CPU op-mode(s):        32-bit, 64-bit
-Byte Order:            Little Endian
-CPU(s):                24
-On-line CPU(s) list:   0-23
-Thread(s) per core:    1
-Core(s) per socket:    12
-Socket(s):             2
-NUMA node(s):          2
-Vendor ID:             GenuineIntel
-CPU family:            6
-Model:                 63
-Model name:            Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
-Stepping:              2
-CPU MHz:               1203.320
-BogoMIPS:              5005.24
-Virtualization:        VT-x
-L1d cache:             32K
-L1i cache:             32K
-L2 cache:              256K
-L3 cache:              30720K
-NUMA node0 CPU(s):     0-11
-NUMA node1 CPU(s):     12-23</code></pre>
-		</section>
-<section id="numa_multisocket_ht">
-<p class="example">Multi-socket bare metal with HT</p>
-		<pre><code class="shell nohighlight" data-trim style="font-size:1em;">$ lscpu
-Architecture:          x86_64
-CPU op-mode(s):        32-bit, 64-bit
-Byte Order:            Little Endian
-CPU(s):                48
-On-line CPU(s) list:   0-47
-Thread(s) per core:    2
-Core(s) per socket:    12
-Socket(s):             2
-NUMA node(s):          2
-Vendor ID:             GenuineIntel
-CPU family:            6
-Model:                 63
-Model name:            Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
-Stepping:              2
-CPU MHz:               1200.000
-BogoMIPS:              5004.73
-Virtualization:        VT-x
-L1d cache:             32K
-L1i cache:             32K
-L2 cache:              256K
-L3 cache:              30720K
-NUMA node0 CPU(s):     0-11,24-35
-NUMA node1 CPU(s):     12-23,36-47</code></pre>
-		</section>
-<section id="htop_graphs">
-		<img src="/presentations/slides/intro/htop_ht.png" align="center" width="800" height="325">
-		<img src="/presentations/slides/intro/htop.png" align="center" width="979" height="229">
-		</section>
-<section id="numa_graph">
-		<img src="/presentations/slides/intro/numa_ht.png" align="center" width="979" height="507">
-		</section>
-<section id="numa_solutions">
-<br/>
-		<h4 class="p">Solutions?</h4>
-		<ul>
-			<li style="font-size: 1em;list-style-type: circle;">numactl --interleave=all httpd/php-fpm</li>
-			<li style="font-size: 1em;list-style-type: circle;">split multi-socket with containers</li>
-			<li style="font-size: 1em;list-style-type: circle;">BIOS Snoop Mode setting? HS/ES/COD?</li>
-			<li style="font-size: 1em;list-style-type: circle;">ignore it</li>
-		</ul>
-		</section>	</section>
-	<section>
 		<section id="deploy">
 		<h1 style="text-align:center;">Let's deploy it!</h1>
 		</section>
@@ -1235,120 +1048,6 @@ NUMA node1 CPU(s):     12-23,36-47</code></pre>
 		<p class="p" style="font-size:1.1em;text-align:left;">DB Schema changes need special care</p>
 		</section>	</section>
 	<section>
-		<section id="etsy_deploy">
-		<h2 style="text-align:center;">How do you manage deploys?</h2>
-		</section>
-<section id="etsy_deploy0">
-		<p class="p" style="font-size:2em;text-align:left;">At Etsy we use irc</p>
-		<pre><code class="shell nohighlight" data-trim style="font-size:0.9em;">Channel: #push Topic: &lt;prod&gt; *joe frank|bob
-devbot: Swapping symlinks. Your code is about to start taking production traffic
-pushbot: joe frank : Your code is live. Time to watch graphs: http://etsy/abcd
-Rasmus: .join
-*** pushbot has changed the topic on #push to &lt;prod&gt; joe frank|bob Rasmus
-frank: .good
-*** pushbot has changed the topic on #push to &lt;prod&gt; *joe *frank|bob Rasmus
-joe: .done
-*** pushbot has changed the topic on #push to &lt;prod&gt; bob Rasmus
-pushbot: bob Rasmus: You're up
-bob: .in
-*** pushbot has changed the topic on #push *bob Rasmus
-Rasmus: .in
-*** pushbot has changed the topic on #push *bob *Rasmus</code></pre>
-		</section>
-<section id="etsy_deploy1">
-		<p class="p" style="font-size:2em;text-align:left;">pushbot commands</p>
-		<ul>
-			<li style="list-style-type: none;"><strong>.join</strong>    - join push queue</li>
-			<li style="list-style-type: none;"><strong>.in</strong>        - code has been pushed</li>
-			<li style="list-style-type: none;"><strong>.good</strong> - your stuff looks good</li>
-			<li style="list-style-type: none;"><strong>.uhoh</strong> - your stuff looks bad</li>
-			<li style="list-style-type: none;"><strong>.hold</strong>  - there is a problem, hold everything</li>
-			<li style="list-style-type: none;"><strong>.nm</strong>      - never mind (leave queue)</li>
-			<li style="list-style-type: none;"><strong>.done</strong> - push done</li>
-		</ul>
-		</section>
-<section id="etsy_deploy2">
-		<img src="/presentations/slides/intro/deployinator.png"  width="" height="">
-		</section>
-<section id="etsy_deploy3">
-		<pre><code class="shell nohighlight" data-trim style="font-size:0.9em;">Channel: #push Topic: &lt;princess&gt; bob Rasmus
-Jenkins: Starting build #36803 for job qa
-Jenkins: Starting build #38784 for job princess
-Jenkins: Project qa build #36803: SUCCESS in 6 min 19 sec: http://ci/job/qa/36803/
-pushbot: bob Rasmus : qa tests have passed
-devbot: [who_tried] Everyone in this push has run Try recently. w00t!
-Jenkins: Project princess build #38784: SUCCESS in 1 min 10 sec: http://ci/job/princess/38784/
-pushbot: bob Rasmus : princess tests have passed
-bob: .good
-Rasmus: .good
-*** pushbot has changed the topic on #push to &lt;princess&gt; *bob *Rasmus
-pushbot: bob Rasmus : everyone is ready, checking on Jenkins...
-Jenkins: qa: last build: 36803 (9 min 5 sec ago): SUCCESS: http://ci/job/qa/36803/
-Jenkins: princess: last build: 38784 (2 min 54 sec ago): SUCCESS: http://ci/job/princess/38784/</code></pre>
-		</section>
-<section id="etsy_deploy4">
-		<p class="p" style="font-size:2.5em;text-align:left;">Deploy to Production:</p>
-		<ul>
-			<li style="font-size: 2em;">ssh to deploy host</li>
-			<li style="font-size: 2em;">dsh to all targets</li>
-			<li style="font-size: 2em;">rsync files</li>
-		</ul>
-		</section>
-<section id="etsy_deploy5">
-		<pre><code class="shell nohighlight" data-trim style="font-size:0.9em;">Channel: #push Topic: &lt;prod&gt; bob Rasmus
-devbot: Swapping symlinks. Your code is about to start taking production traffic
-pushbot: bob Rasmus : Your code is live. Time to watch graphs: http://etsy/et5cp
-Jenkins: Starting build #39452 for job prod
-pushbot: bob Rasmus : prod tests have passed
-Jenkins: Project prod build #39452: SUCCESS in 30 sec: http://ci/job/prod/39452/
-bob: .good
-Rasmus: .good
-*** pushbot has changed the topic on #push to &lt;prod&gt; *bob *Rasmus
-pushbot: bob Rasmus : everyone is ready, checking on Jenkins...
-Jenkins: prod: last build: 39452 (1 min 39 sec ago): SUCCESS: http://ci/job/prod/39452/
-bob: .done
-pushbot: clear
-*** pushbot has changed the topic on #push to clear</code></pre>
-		</section>
-<section id="etsy_deploy6">
-		<p class="p" style="font-size:2.5em;text-align:left;">Graph Everything!</p>
-		<ul>
-			<li style="font-size: 2em;">Statsd</li>
-			<li style="font-size: 2em;">Ganglia</li>
-			<li style="font-size: 2em;">Graphite</li>
-		</ul>
-		</section>
-<section id="etsy_deploy7">
-		<p class="p" style="font-size:2.5em;text-align:left;">Log Everything!</p>
-		<ul>
-			<li style="font-size: 2em;">logster</li>
-			<li style="font-size: 2em;">Supergrep</li>
-			<li style="font-size: 2em;">Logstash</li>
-			<li style="font-size: 2em;">Elastic Search</li>
-		</ul>
-		</section>
-<section id="etsy_deploy8">
-		<ul>
-			<li style="font-size: 1.5em;">Commit to master</li>
-			<li style="font-size: 1.5em;">Deploy from HEAD</li>
-			<li style="font-size: 1.5em;">Branches?</li>
-			<li style="font-size: 1.5em;">Branches are in code via feature flags</li>
-		</ul>
-		</section>
-<section id="etsy_deploy9">
-		<p class="p" style="font-size:2.5em;text-align:left;">Blameless post-mortems</p>
-		</section>
-<section id="etsy_deploy10">
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/deployinator" target="">github.com/etsy/deployinator</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/statsd" target="">github.com/etsy/statsd</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/logster" target="">github.com/etsy/logster</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/morgue" target="">github.com/etsy/morgue</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/feature" target="">github.com/etsy/feature</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/supergrep" target="">github.com/etsy/supergrep</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/PushBot" target="">github.com/etsy/PushBot</a></div>
-		<div align="left" style="font-size: 1.2em; color: ; text-align: left; margin-left: 2em; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/etsy/TryLib" target="">github.com/etsy/TryLib</a></div>
-		</section>	</section>
-	<section>
 		<section id="prod_perc95">
 		<h2 margin-bottom="2em">PHP 7 in production</h2><br>
 		<img src="/presentations/slides/intro/perc95.png" align="center" width="882" height="465">