Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First Systems Engineering Best Practices sections #237

Merged
merged 14 commits into from Jul 11, 2018
Merged

First Systems Engineering Best Practices sections #237

merged 14 commits into from Jul 11, 2018

Conversation

TheLastCicada
Copy link
Contributor

3 sections added under the "Systems" heading: Nginx, PHP-FPM, and MySQL. More intended to be added in the future.

What needs help is:

  • Banner for the Systems page
  • Table of Contents formatting

Everything else looks to be working. Proof-reading encouraged.

Copy link
Member

@tlovett1 tlovett1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, this is awesome info.

One thing I noticed was capitalization inconsistencies throughout e.g. Memcached vs. memcached. github vs. GitHub, CentOS vs. centos, etc. Obviously not a show stopper but would be nice to address.

@@ -0,0 +1,252 @@
<h2 id="nginx" class="anchor-heading">Nginx{% include Util/top %}</h2>

[Nginx](http://nginx.org/ "Nginx Web Server") is our preferred web server software at 10up. It has proven extremely stable, performant, and reliable at high scale and offers a powerful set of tools. This is not to imply there is anything wrong with using [Apache](https://httpd.apache.org/ "Apache Web Server") - we’ve worked on many high scale deployments that use Apache and mod_php that perform very well. 10up maintains a public set of [Nginx configuration templates](https://github.com/10up/nginx_configs "10up Nginx Configuration Template for WordPress") that apply these best practices.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link doesn't work. Why do we prefer nginx over Apache?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nvm link works

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

c142375 adds some text addressing why Nginx over Apache. It is intentionally weak in the language because Apache can be configured to work as well as Nginx, we just prefer the way Nginx does it.


* **max_input_vars**: This value can be safely raised from the default of 1000 (common values are 3000 or 5000). This limit can be hit in complicated WordPress menu structures or in posts with many custom attributes. A common symptom is the menu items or custom fields not appearing to save in the database, but in a very random way.

#### www.conf
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An example file would be nice.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An example php.ini file?

@TheLastCicada
Copy link
Contributor Author

TheLastCicada commented Jun 29, 2018

c142375 addresses the capitalization inconsistencies, but I'm nearly certain there are more of these issues in the text that we just haven't caught yet. I expect those tweaks to be an on-going effort. That being said, the most likely tech words that you pointed out (and a few others) have been addressed.

@@ -0,0 +1,252 @@
<h2 id="nginx" class="anchor-heading">Nginx{% include Util/top %}</h2>

[Nginx](http://nginx.org/ "Nginx Web Server") is our preferred web server software at 10up. It has proven extremely stable, performant, and reliable at high scale and offers a powerful set of tools. This is not to imply there is anything wrong with using [Apache](https://httpd.apache.org/ "Apache Web Server") - we’ve worked on many high scale deployments that use Apache and mod_php that perform very well. In general, we've found Nginx to be more lightweigh, use less memory, provide more flexible configuration, and perform better under heavy load than Apache. 10up maintains a public set of [Nginx configuration templates](https://github.com/10up/nginx_configs "10up Nginx Configuration Template for WordPress") that apply these best practices.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a typo here, lightweigh

@ivankristianto
Copy link

I recommend to add extra information to have HTTP/2 enabled in Nginx Performance section

@TheLastCicada
Copy link
Contributor Author

@ivankristianto I've added a section about HTTP/2 in the Performance part for Nginx and fixed the typo.

I expect to add more content to these sections as we evolve our best practices and find additional improvements. I also expect community members to have lots of good suggestions. I do want to continue fixing typos and adding content to this, but feel like we are at a good place to merge where we can make tweaks after this is in the official document.

@tlovett1 tlovett1 merged commit 6073fa7 into 10up:gh-pages Jul 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants