-
Notifications
You must be signed in to change notification settings - Fork 1
/
hints
289 lines (289 loc) · 17.7 KB
/
hints
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
Hypernode Hint #1: You can see real time PHP-FPM requests with livefpm.
%
Hypernode Hint #2: Try singing to your Hypernode to make it run faster! It might not work but you never know.
%
Hypernode Hint #3: Use livelog to see recent events, such as backups and xgrades live on your Hypernode.
%
Hypernode Hint #4: Please read the available documentation at https://support.hypernode.com.
%
Hypernode Hint #6: You can see which PHP processes are taking a long time to complete in /var/log/php-fpm/php-slow.log.
%
Hypernode Hint #7: The livefpm command is an alias for running hypernode-fpm-status in a loop.
%
Hypernode Hint #8: Run livereqs to see the web-requests in real time on your Hypernode.
%
Hypernode Hint #9: If a PHP-FPM process is GONE in livefpm it means the client has already disconnected.
%
Hypernode Hint #10: GONE in livefpm means the user has already clicked away or refreshed that page.
%
Hypernode Hint #11: Not all hits that show up in livereqs show up in livefpm, that is because not all traffic goes through PHP-FPM.
%
Hypernode Hint #12: You can use varnishhist to see the hitrate of your Varnish process.
%
Hypernode Hint #13: You can use varnishstat to see stats about your Varnish process if you run Varnish.
%
Hypernode Hint #14: You can run redis-cli info to get stats about your Redis process.
%
Hypernode Hint #15: You can run --help on each of the sub-commands of hypernode-systemctl. Like hypernode-systemctl xgrade --help.
%
Hypernode Hint #16: Configure settings like PHP version with hypernode-systemctl settings php_version 8.1.
%
Hypernode Hint #17: You can see what setting is configured for a specific value by running hypernode-systemctl settings php_version.
%
Hypernode Hint #18: You can use --block in hypernode-systemctl settings to wait for the setting change to complete.
%
Hypernode Hint #19: Check out what MySQL start-up configuration settings can be configured by running hypernode-systemctl settings |& grep mysql.
%
Hypernode Hint #20: A second Redis instance can be started for sessions. See the redis_persistent_instance setting.
%
Hypernode Hint #21: The redis_persistent_instance Redis has a different eviction policy than the Redis for cache. It is suited for sessions.
%
Hypernode Hint #22: If you enable redis_persistent_instance your normal Redis memory is halved and reallocated to the second Redis.
%
Hypernode Hint #23: You can set the Redis version with hypernode-systemctl settings redis_version (6.x for example).
%
Hypernode Hint #24: Did you know that hypernode-systemctl talks directly to the Hypernode API?
%
Hypernode Hint #25: Did you know there is a Hypernode API client in PHP? Check it out on https://github.com/ByteInternet/hypernode-api-php.
%
Hypernode Hint #26: Did you know there is a Hypernode API client in Python? Check it out on https://github.com/ByteInternet/hypernode-api-python.
%
Hypernode Hint #27: NGINX configs in /data/web/nginx are automatically loaded once saved, deleted, touched or moved.
%
Hypernode Hint #28: If your NGINX config is invalid a file will appear in /data/web/ngin/nginx_error_output with the error.
%
Hypernode Hint #29: The nginx_config_reloader is open source. Check it out on GitHub to understand how it works! https://github.com/ByteInternet/nginx_config_reloader.
%
Hypernode Hint #30: You can run a local Hypernode on your computer with hypernode-docker. See https://github.com/byteinternet/hypernode-docker.
%
Hypernode Hint #31: Hypernode-docker can be used for testing out server configuration changes on your local computer in a safe environment.
%
Hypernode Hint #32: The hypernode-importer can be used to import a shop from another server, or even from another Hypernode.
%
Hypernode Hint #33: If you run screenfetch a nice Hypernode robot will tell you all about your specs!
%
Hypernode Hint #34: Whenever your PHP-FPM workers fill up a directory is created in /data/web/incidents with information about that moment.
%
Hypernode Hint #35: In /data/web/incidents you can find information about the system from moments where this Hypernode was overloaded.
%
Hypernode Hint #36: In /data/web/incidents you can find information about the system from moments where this Hypernode was overloaded.
%
Hypernode Hint #37: You can inspect the syscalls of a process owned by the app user with strace. Try strace -p <pid>.
%
Hypernode Hint #38: Stracing the PHP-FPM processes can be helpful for debugging. Try strace -p <pid> -s 99 -f.
%
Hypernode Hint #39: Did you know you can enable xdebug for debugging? See hypernode-systemctl settings.
%
Hypernode Hint #40: Did you know you can list your snapshot backups with hypernode-systemctl list_backups?
%
Hypernode Hint #41: You can easily block known bot attacks with hypernode-systemctl block_attack.
%
Hypernode Hint #42: You can automatically configure NGINX to block various attacks by for example running hypernode-systemctl block_attack BlockSqliBruteForce.
%
Hypernode Hint #43: If your Hypernode becomes unresponsive the autohealing kicks in.
%
Hypernode Hint #44: If you see emergency_rescue in hypernode-log that means the autohealing procedure was performed.
%
Hypernode Hint #45: Did you know you get an automated email if a large logfile is found in your installation?
%
Hypernode Hint #46: The Hypernode checks if you have Magento 2 caches that are disabled today that were enabled yesterday and then emails you about it.
%
Hypernode Hint #47: You can run hypernode-webapp-status --cache --verbose to see if your Magento 2 cache status has changed.
%
Hypernode Hint #48: Use hypernode-systemctl brancher to create a copy of your Hypernode to a temporary test Hypernode.
%
Hypernode Hint #49: You can use hypernode-systemctl brancher --list to list all your Brancher nodes.
%
Hypernode Hint #50: You can use hypernode-systemctl brancher --delete <id> to delete a Brancher node.
%
Hypernode Hint #51: Have you seen the official Hypernode Deploy tool yet? See https://github.com/ByteInternet/hypernode-deploy-configuration.
%
Hypernode Hint #52: Hypernode Deploy can use Hypernode Brancher to set up a Hypernode acceptance environment for each pull request in your version control.
%
Hypernode Hint #53: Did you know that hypernode-manage-vhosts has many different vhost types? See the --help menu.
%
Hypernode Hint #54: You can see what domains this Hypernode is mailing from by running hypernode-mail-status domains.
%
Hypernode Hint #55: Items can be deleted from the mailq with hypernode-postsuper -d <id>.
%
Hypernode Hint #56: Keeping your Hypernode tidy in terms of unnecessary storage usage makes plan changes and backups run faster.
%
Hypernode Hint #57: Backup restores and some plan changes can be performed faster if you have less storage in use.
%
Hypernode Hint #58: Run iostat -mx 1 to get a sense of your disk utilization. The util % is a good metric to look at when your shop is busy.
%
Hypernode Hint #59: You can run myprocs to see what MySQL queries are running at the moment.
%
Hypernode Hint #60: The ncdu utility can be used to find out where a lot of disk storage is being used.
%
Hypernode Hint #61: You can restart services like mysql, php-fpm and nginx yourself using hypernode-servicectl.
%
Hypernode Hint #62: Did you know you can restart MySQL with hypernode-servicectl restart mysql?
%
Hypernode Hint #63: Did you know you can restart Redis with hypernode-servicectl restart redis-server?
%
Hypernode Hint #64: Check out hypernode-auto-logrotate for finding large logfiles and setting up logrotation automatically.
%
Hypernode Hint #65: Did you know you can upgrade or downgrade your Hypernode from the command-line? See hypernode-systemctl xgrade.
%
Hypernode Hint #66: You can schedule a plan upgrade or downgrade for a later time either from the command-line or from the control panel.
%
Hypernode Hint #67: See hypernode-systemctl xgrade --help for the --scheduled-at functionality. With that you can schedule a plan change.
%
Hypernode Hint #68: You can trigger a pre-install of a variety of applications using hypernode-systemctl preinstall. It may fail if there is already an application on the server.
%
Hypernode Hint #69: You can run pdstatus to find out quickly if the status of the server is OK.
%
Hypernode Hint #70: You can run the editor command to specify your default editor.
%
Hypernode Hint #71: Do you have any hints to share yourself? You can create a pull request here https://github.com/ByteInternet/fortunes-hypernode-hints.
%
Hypernode Hint #72: Input the Konami code on your keyboard in the Hypernode Control Panel for a flying robot!
%
Hypernode Hint #73: Instead of running long running processes in a cron, check out supervisord. See hypernode-systemctl settings supervisor_enabled.
%
Hypernode Hint #74: For testing purposes, you can catch the mail your node is sending with mailhog. See hypernode-systemctl settings mailhog_enabled.
%
Hypernode Hint #75: Did you know you can ask support to change the innodb_buffer_pool_size? By default we base this on a percentage of available system memory.
%
Hypernode Hint #76: The systemwide composer version can be set with hypernode-systemctl settings composer_version <version>.
%
Hypernode Hint #77: The systemwide nodejs version can be set with hypernode-systemctl settings nodejs_version <version>.
%
Hypernode Hint #78: A variety of magerun2 versions can be configured with hypernode-systemctl settings magerun2_version <version>.
%
Hypernode Hint #79: Hypernode has it's own collection of Magerun addons. See https://github.com/Hypernode/hypernode-magerun.
%
Hypernode Hint #80: Did you know you can query the Hypernode API for the next plan in line based on your current plan?
%
Hypernode Hint #81: Did you know you can query the Hypernode API for the next plan in line based on your current plan?
%
Hypernode Hint #82: To completely block FTP access you can run hypernode-systemctl settings firewall_block_ftp_enabled True.
%
Hypernode Hint #83: You can configure New Relic from the commandline. See hypernode-systemctl settings |& grep new_relic.
%
Hypernode Hint #84: You can configure Blackfire from the commandline. See hypernode-systemctl settings |& grep blackfire.
%
Hypernode Hint #85: If you would like the Hypernode out of memory killer to be a bit less trigger-happy, see the permissive_memory_management setting.
%
Hypernode Hint #86: On Hypernode you need to edit the NGINX files in /data/web/nginx, not in /etc/nginx.
%
Hypernode Hint #87: Alternative webroots can be configured for your vhosts using hypernode-manage-vhosts.
%
Hypernode Hint #88: You can create new vhosts with hypernode-manage-vhosts. See --list for current vhosts.
%
Hypernode Hint #89: Slow MySQL queries can be inspected in /var/log/mysql/mysql-slow.log.
%
Hypernode Hint #90: If you think your server may have gone out of memory, check dmesg -T | grep killed -i.
%
Hypernode Hint #91: On a cloud Hypernode if you change your plan to a plan at the same cloud provider, your IP will remain the same.
%
Hypernode Hint #92: If you change your plan to a plan at the same cloud provider with the same disk size, the plan change will go fast.
%
Hypernode Hint #93: On cloud, a backup Hypernode is automatically booted if the monitoring reports issues. This is rarely used, but it's there if it's needed.
%
Hypernode Hint #94: The Hypernode autohealing procedure restarts stuck services if necessary.
%
Hypernode Hint #95: Every week we analyze the on-call alerts to find patterns to automate in our autohealing procedure.
%
Hypernode Hint #96: The Hypernode platform supports frameworks like Laravel and Symfony as well!
%
Hypernode Hint #97: The Hypernode autohealing automatically detects various known bot patterns and automatically blocks them in your NGINX.
%
Hypernode Hint #98: If a user refreshes a page many times on a webshop on Hypernode, only the latest request will continue processing in PHP-FPM.
%
Hypernode Hint #99: You can configure the bot ratelimiter to make '429 Too Many requests' less common. Watch out though, it's there for a reason!
%
Hypernode Hint #100: Keep an eye on the changelog for updates to the Hypernode platform. See https://changelog.hypernode.com/.
%
Hypernode Hint #101: If you use Slack, you can use RSS to automatically get updates from the Hypernode changelog.hypernode.com directly in your chat.
%
Hypernode Hint #102: Use a CNAME to your Hypernode hostname to prevent problems in your site if the server IP changes.
%
Hypernode Hint #103: Connect remotely to your database safely using TLS. You can force TLS for a user with alter user 'user'@'somehost' REQUIRE SSL;
%
Hypernode Hint #104: In a MySQL shell you can check if you are connected using TLS by running SHOW STATUS LIKE "Ssl_cipher";
%
Hypernode Hint #105: You can only upgrade MySQL versions, not downgrade them.
%
Hypernode Hint #106: On Hypernode you can automatically upgrade your MySQL version. See hypernode-systemctl settings mysql_version.
%
Hypernode Hint #107: The Hypernode autohealing can detect it if you have too many MySQL connections. If this happens, it will report this via email.
%
Hypernode Hint #108: On Hypernode cron jobs are automatically randomized with a deterministic sleep to prevent a thundering herd.
%
Hypernode Hint #109: On Hypernode cron jobs are automatically flocked to prevent duplicate processes.
%
Hypernode Hint #110: If you don't want a specific cron to be flocked, you can append #noflock that line in your crontab.
%
Hypernode Hint #111: If you have a varied but predicatable visitors pattern in your shop, consider automating upgrades and downgrades using the Hypernode API.
%
Hypernode Hint #112: If your shop goes down because your Redis is full, the Hypernode autohealing will detect this and send you an email.
%
Hypernode Hint #113: There is a bug in specific Magento versions where the /tmp/analytics dir grows indefinitely. The autohealing detects this and notifies you.
%
Hypernode Hint #114: The Hypernode autohealing will try to free up space in /tmp if necessary. See hypernode-purge-tmp3 --help.
%
Hypernode Hint #115: If you want to clean up the /tmp directory until a certain amount of storage is available run hypernode-purge-tmp3 --minfree <AMOUNT OF MB>.
%
Hypernode Hint #116: MySQL on Hypernode is started with an OOM score of -1000, which means it is never out of memory killed.
%
Hypernode Hint #117: If you experience a business-critical disruption outside of office hours, see emergency.hypernode.com.
%
Hypernode Hint #118: Keep yourself posted on the status of the Hypernode platform, subscribe to updates on www.hypernode-status.com.
%
Hypernode Hint #119: In the control panel you can link your domain to a Hypernode to make sure IP changes are automatically applied through DNS.
%
Hypernode Hint #120: A common reason for downtime is misconfigured NGINX and Let's Encrypt validation. Managed SSL in the control panel can be a solution.
%
Hypernode Hint #121: On Hypernode, Elasticsearch should only be used for ephemeral data like the catalogsearch in Magento, not as a database.
%
Hypernode Hint #122: When you change the PHP version of your Hypernode, the WSDL cache is automatically cleared.
%
Hypernode Hint #123: If your workload is I/O bound due to MySQL, consider offloading your database to a separate Hypernode.
%
Hypernode Hint #124: If you need to run a PWA application for your front-end, consider using supervisor.
%
Hypernode Hint #125: Looking to shrink the footprint of the images in your shop? Check out hypernode-image-optimizer --help.
%
Hypernode Hint #126: You will receive automated emails if your disk is about to reach full capacity.
%
Hypernode Hint #127: To get some quick information about a Magento installation, run hypernode-diagnostic.
%
Hypernode Hint #128: Run 'sf2' in a Magento 2 directory to quickly get the base url. This is an alias for n98-magerun2 sys:store:config:base-url:list.
%
Hypernode Hint #129: Run 'sf' in a Magento directory to quickly get the base url. This is an alias for n98-magerun sys:store:config:base-url:list.
%
Hypernode Hint #130: To view the available fields the NGINX logparsing utility hypernode-parse-nginx-log can filter on, run pnl --list-fields.
%
Hypernode Hint #131: The pnl utility can help you parse NGINX logs quickly. For example cat /var/log/nginx/access.log | pnl --fields remote_addr,request,status.
%
Hypernode Hint #132: On Hypernode the NGINX logs contain handy fields such as country for the location for the request IP.
%
Hypernode Hint #133: Using tal | pnl --fields request,handler you can see what requests go through PHP-FPM. Those are usually CPU intensive.
%
Hypernode Hint #134: Use tal | pnl --apache to output the NGINX access log in the NCSA Common Log Format.
%
Hypernode Hint #135: Use hypernode-fpm-slow-modules3 --cms magento_2 to spot slow modules in Magento 2.
%
Hypernode Hint #136: On www.magereport.com you can scan your Magento shop for known vulnerabilities.
%
Hypernode Hint #137: When you change your plan a backup of the app user crontab is made to /data/var/crontabs_xgrade_backup.
%
Hypernode Hint #138: Did you know hypernode-brancher is an alias for hypernode-systemctl brancher?
%
Hypernode Hint #139: Tired of typing hypernode-manage-vhosts all the time? You can also use the command hmv instead!
%
Hypernode Hint #140: Are you receiving error codes from nginx? Use the alias 'tale' to easily tail the error log!
%
Hypernode Hint #141: Your Hypernode has a ton of easy to use aliases. Type 'alias' to get a list of all of them!
%
Hypernode Hint #142: Run `hypernode-docs` or `man hypernode` to read the docs straight from the commandline.
%
Hypernode Hint #143: You can configure Tideways from the commandline. See hypernode-systemctl settings |& grep tideways.
%
Hypernode Hint #144: You can easily connect to your debugging session with Xdebug Cloud. See hypernode-systemctl settings |& grep xdebug.
%
Hypernode Hint #145: You can easily switch from ElasticSearch to OpenSearch by running hypernode-systemctl settings opensearch_enabled True
%
Hypernode Hint #146: You can use the `statuslog` alias to investigate historic monitoring status results. Look for entries with 'false'.