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

Discription in INSTALL_LINUX.md #171

Closed
lil5 opened this issue Apr 13, 2018 · 3 comments
Closed

Discription in INSTALL_LINUX.md #171

lil5 opened this issue Apr 13, 2018 · 3 comments

Comments

@lil5
Copy link

lil5 commented Apr 13, 2018

It doesn't seem very well documented ( why | how ) you need to run all those steps;

  • configure sshd
  • add kernel parameter
  • define Localhost
  • define envrionment
  • add /opt/bin path

The (install docker-compose, install Libre.sh) is understandable why it's necessary.

I'm not very acknowledged in server backend/maintentence so please excuse my n00bishness.

If explenation is too much to ask for please point me in the right direction so I can study what they're about (and if I understand I might make a PR...)

@pierreozoux
Copy link
Member

Yes, I know the documentation is pretty bare. They are more notes than proper instructions, but please feel free to improve it.( As you see some people already improved it).

To be honest, I didn't do the file INSTALL_LINUX.md

I'll try to answer your questions:

  • sshd: feel free to put what fits you (on coreos the default user is core)
  • kernel: I had issues without those (like mysql complaining and so on)
  • localhost: I'm not sure why
  • environment is used if you plan to use provision script
  • /opt/bin is for docker-compose (in coreos it is the only path that is writable)

Hope it answers your questions!

@JOduMonT
Copy link
Contributor

JOduMonT commented May 26, 2018

For me, few of these tweaks comes after watching Brendan Gregg recommendation, a kernel and performance engineer at Netflix.

But don't get me wrong, I don't try to claim being a Kernel specialist and/or theses tweaks come from me.

Kernel

Generic Kernel have generic configuration for general purpose.
So when you run server and want to optimize it with specific purpose you have to tweak few parameters.

Depending on the stack, which related to the kernel version, some parameters aren't optimize and might result of dropping queries (TCP/...), and/or overheating the resources CPU/RAM.

vm.overcommit_memory

It's an optimization for the VirtualMemory and this parameter will be mostly use by caching system like redis, memcached and so on; more info here

fs.aio-max-nr

Related to database like Mysql, MariaDB, Percona, Postgres, MongoDB.
more info

transparent hugepage

This line is actually just to be sure it will never being activate even if the kernel teams decide too, which might be possible depending of which instruction CPU constructor (Intel/AMD) includes.
https://www.kernel.org/doc/Documentation/vm/transhuge.txt

localhost

it will avoid some apps to make request over DNS, and slow down the response;
also, sometimes DNS are just define externally so only the public IP awnser;
and after a quick research on the net I found GO and Kubernetes issues related to the fact localhost wasn't define.

Cluster, Swarm and ...

If you have a cluster and/or multiple host, than if localhost is define and internally your apps and you use volume for your data, than everything will, in theory works automagically.

Let's say; I have a Wordpress who use a mysql database and instead of using localhost I point my wordpress to an ip or a ns; like the good old time with a 3tiers infrastructure (proxy, apps, db); so if the server have to reboot, and/or have a lack of resource, your screwed.

But if you connect Wordpress via localhost, and of course you did properly declare the dependency and your data are in volume, than the swarm, cluster, ... will manage/migrate the apps for you.

255.255.255.255

Means the broadcast will never being routable

environment

At the beginning; I had a hard time them too; with time I understood they are mostly for automation like buying domain via namecheap API, configuring backups and mail service in different apps.

@unteem
Copy link
Contributor

unteem commented Feb 20, 2019

Closing issue here repo is migrated to lab.libre.host.st

please follow issue here

@unteem unteem closed this as completed Feb 20, 2019
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

No branches or pull requests

4 participants