illmaticindustries / isucon13

0 stars 0 forks source link

チートシート #5

Open tagty opened 11 months ago

tagty commented 11 months ago
sudo su -
date
hostnamectl set-hostname isucon13
vim /etc/ssh/sshd_config

ClientAliveInterval 0

cat /etc/passwd
useradd -d /home/isucon -m isucon

update-alternatives --config editor

visudo
isucon  ALL=(ALL:ALL) NOPASSWD:ALL
sudo -i -u isucon
mkdir .ssh
vim .ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDYyMMo1KO6AzPnGuMgWjYHQA6prQG42p0y0sR6tTEhmzyFX8QycwjFLttXfSqVGc6wzmve/dBbzlC+XgBRC6sCvzJsDxc9N1EWoRULq5Iluat3fv+2am6QTTnt2cIMBmjUzZPzB4XHhGX0fZIV5+BJReB052Nio47MO+mxRQqwDJCryfvdoGsE0vVxdznkDQO8BV0YPVh/qmktImbgnRRcsAv3MiL4oh1D93sX6d+q15UKUJopXyW9L4L6x+sIdMDW5YPb7Hz7h5K3qd8MTgQawTZOafK4B3oMZpveOdpB3uWoyaRsLCNUDgL50H6vZS96iMKyCrBBEvt++ECN5e3ZK+AGGoxKJhDNUXtlvfsuNDBKPwuGTZR8nIVabNt/bYGrSQABsGNyTzhjcfAYcIKgviqZWOme+w4eRZ+ljlluQkNjMReehUqu1SzIgewJn0Yu2m5k82YZUig+ngty9rnIDjhpFzlLwItiek39Y1wM85dB8fIFbewXvN6/1DnFipTVeDvISKf4KFxs7u2Nm24Ce8tRZlWEU541B8umtSrEpOabq8Gmwzu+sr8DpkviGL2dW+Rasa1hK3vHH2mhXF8SKNQOTuI4CGAbBCMFd7XHZn4rmKzVa1kB6lWar+7GtMbarOELf2HTzO+OZcVEq0QLWFXl20wy9CXFPz/0pciM3w== tagty@rocketsgo.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFQdx8cDe8Rwd1ZWPGl+QiSV0fnkA/qDyW2SWSJRHlQf tagty@Tetsuya-Taguchis-MacBook-Pro.local

chmod 700 .ssh
chmod 600 .ssh/authorized_keys
vim ~/.ssh/config
Host isucon13-1
  HostName 54.178.153.159
  User isucon

Host isucon13-2
  HostName 18.179.154.162
  User isucon

Host isucon13-3
  HostName 13.230.0.183
  User isucon
scp ~/.ssh/id_rsa isucon10-qualify-1:/home/isucon/.ssh/

git init

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

git config --global user.email "bouzu.ao@gmail.com"
git config --global user.name "tagty"

du -h -d 1 ./* | sort -h

git status

.bash_history
.bash_logout
.bashrc
.bundle/
.cache/
.cargo/
.composer/
.config/
.cpanm/
.deno/
.gem/
.gitconfig
.npm/
.perl-cpm/
.profile
.rustup/
.ssh/
.viminfo
env.sh
go/
local/

vim .gitignore

git add .
git commit
git remote add origin https://github.com/illmaticindustries/isucon13.git
git branch -M main
git push -u origin main

tagty
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
cat /proc/cpuinfo
free -h
systemctl list-units --type=service --state=running

https://qiita.com/macer_fkm/items/d920ff77f0f5ae5484f9

mysql -u root
mysqldump -u root isucondition > dump.sql

zip ./dump.sql.zip ./dump.sql

CREATE DATABASE DBname

mysql -u root -D isucondition < dump.sql
mysql -uroot -p isuports
mysqldump -uisucon -pisucon isuports billing_report > billing_report.sql
mysql -uroot -proot isuports < billing_report.sql
sudo su -
systemctl list-unit-files --type=service
journalctl -xef

sudo systemctl status isuconquest.go.service
cat /etc/systemd/system/isuconquest.go.service
cat /home/isucon/env.sh

sudo systemctl stop isu-ruby
sudo systemctl disable isu-ruby
sudo systemctl start isu-go
sudo systemctl enable isu-go

セキュリティグループの確認

./bench --target-url http://172.31.35.16:1323
apt install percona-toolkit

vim /etc/mysql/mysql.conf.d/mysqld.cnf
systemctl restart mysql.service

cat /dev/null > /var/log/mysql/mysql-slow.log

pt-query-digest --limit 10 /var/log/mysql/mysql-slow.log

https://github.com/tkuchiki/alp

scp ~/lib/alp isucon10-qualify-1:/home/isucon
sudo install alp /usr/local/bin/alp
chmod 640 access.log
chown www-data:adm access.log
systemctl restart nginx.service
apt info golang
add-apt-repository ppa:longsleep/golang-backports
apt update
apt info golang
apt install golang
go version

https://pkg.go.dev/net/http/pprof

apt install graphviz

go tool pprof http://localhost:6060/debug/pprof/profile

https://github.com/k1LoW/tbls

source <(curl https://raw.githubusercontent.com/k1LoW/tbls/main/use)
tbls doc mysql://isucon:isucon@localhost:3306/isucholar

セキュリティグループの確認

vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 0.0.0.0

systemctl restart mysql
systemctl status mysql
mysql -uisucon -pisucon
mysql -uroot -proot

isuumo

SELECT USER, host FROM mysql.user;

CREATE USER `isucon`@`192.168.%` IDENTIFIED BY 'isucon';
GRANT ALL PRIVILEGES ON `isuumo`.* TO `isucon`@`192.168.%`;

CREATE USER `isucon`@`172.31.%` IDENTIFIED BY 'isucon';
GRANT ALL PRIVILEGES ON `isuumo`.* TO `isucon`@`172.31.%`;

CREATE USER `isucon`@`%` IDENTIFIED BY 'isucon';
GRANT ALL PRIVILEGES ON `isuumo`.* TO `isucon`@`%`;

DROP USER `isucon`@`192.168.%`;
DROP USER `isucon`@`%`;

isucon10-qualify-2 172.31.38.202

mysql -uisucon -pisucon -h 172.31.38.202 isuumo
mysql -uisucon -pisucon -h 172.31.44.62 isuumo
gzip  on;
gzip_types  text/css text/javascript application/javascript application/x-javascript application/json
gzip_min_length 1000;
location ~ ^/(favicon\.ico|css/|js/|img/) {
  root /home/isucon/private_isu/webapp/public/;
  expires 1d;
}
location /image/ {
  root /home/isucon/..;
  try_files $uri @app;
  expires 1d;
}

location @app {
  proxy_pass http://localhost:8080;
}

https://github.com/major/MySQLTuner-perl

wget http://mysqltuner.pl/ -O mysqltuner.pl
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/basic_passwords.txt -O basic_passwords.txt
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/vulnerabilities.csv -O vulnerabilities.csv
perl mysqltuner.pl
innodb_flush_log_at_trx_commit = 2
skip-log-bin

https://gist.github.com/south37/d4a5a8158f49e067237c17d13ecab12a

e.Debug = false
e.Logger.SetLevel(log.ERROR)