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
Conversation
There was a problem hiding this 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.
_includes/markdown/Systems.md
Outdated
@@ -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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nvm link works
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
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. |
_includes/markdown/Systems.md
Outdated
@@ -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. |
There was a problem hiding this comment.
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
I recommend to add extra information to have HTTP/2 enabled in Nginx Performance section |
@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. |
3 sections added under the "Systems" heading: Nginx, PHP-FPM, and MySQL. More intended to be added in the future.
What needs help is:
Everything else looks to be working. Proof-reading encouraged.