Skip to content

Instantly share code, notes, and snippets.

View Barbayar's full-sized avatar

Barbayar Dashzeveg Barbayar

View GitHub Profile
@Barbayar
Barbayar / Solution1.md
Last active August 29, 2015 14:06
ISUCON 2013

Ерөнхий арга

Эхлээд MySQL дээрх бүх өгөгдлийг өөр дээрээ хадгална. Дараа нь бүх SELECT, INSERT үүдэд харгалзах function уудыг бичих.

Шинээр бичигдэх функцууд

  • SELECT count(*) AS total FROM memos WHERE is_private=0 буюу public memo-ын тоо
  • SELECT * FROM memos WHERE is_private=0 ORDER BY created_at DESC, id DESC LIMIT 100 буюу public memo-оос хэсэгчлэн таслах
  • SELECT username FROM users WHERE id= буюу хэрэглэгчийн id-аас хэрэглэгчийн нэрийг олох
  • SELECT id, username, password, salt FROM users WHERE username=? буюу хэрэглэгчийн нэрээр хэрэглэгчийн мэдээллийг олох
  • UPDATE users SET last_access=now() WHERE id=? буюу хэрэглэгчийн сүүлд холбогдсон цагийг шинэчлэх. Энэ хэрэгтэй юу?
  • SELECT id, content, is_private, created_at, updated_at FROM memos WHERE user=? ORDER BY created_at DESC буюу хэрэглэгчийн id-аар memo буцаах
@Barbayar
Barbayar / gist:a3f619354f37303b5de3
Created September 26, 2014 04:47
redis.conf.sample
daemonize yes
pidfile /var/run/redis.pid
logfile /var/log/redis.log
port 6379
bind 127.0.0.1
timeout 300
loglevel notice
@Barbayar
Barbayar / 事前準備.md
Last active August 29, 2015 14:06
ISUCON 2014

Server Tuning

  • Reverse Proxy ашиглаж static data-уудыг cache хийх
  • Apache-ын оронд nginx гэх мэт, alternative web server ашиглах
  • Хэрэггүй process-уудыг зогсоож, resource чөлөөлөх

RDBMS Optimization

  • Хэрэгтэй index-үүдийг нэмж, хэрэггүй index-үүдийг хасах
  • Зөв engine-ийг сонгох
  • SQL optimization
@Barbayar
Barbayar / hanoi.c
Created September 12, 2014 06:55
Tower of Hanoi
#include <stdio.h>
void hanoi(int src, int dest, int n) {
int spare = 3 - src - dest;
if (n == 1) {
printf("%d->%d\n", src, dest);
return;
}
@Barbayar
Barbayar / .vimrc
Last active December 11, 2019 05:26
" fixes arrow keys' problem
set nocompatible
" fixes backspace/delete key problem
set backspace=2
" shows line number
set number
" shows filename on title
@Barbayar
Barbayar / xorg.conf
Created September 5, 2013 19:47
Kohjinsha SA1F00
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"