เดฌเตเดฐเต†เดฏเดฟเตป + 30 เดฑเต‚เดฌเดฟเตพเดธเต เดตเต‡เดฃเตเดŸเดฟ VPS =?

เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดšเต†เดฑเดฟเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเด‚ เด•เตˆเดฏเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‡เดคเต เดตเดณเดฐเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฃเต: เด’เดฐเต เดจเดฒเตเดฒ เดชเต‡เดจเดฏเตเด‚ เดจเต‹เดŸเตเดŸเตเดชเดพเดกเตเด‚, เดฎเต‚เตผเดšเตเดšเดฏเตเดณเตเดณ เดชเต†เตปเดธเดฟเดฒเตเด‚, เดธเตเด–เดชเตเดฐเดฆเดฎเดพเดฏ เดฎเต—เดธเตเด‚, เด•เตเดฑเดšเตเดšเต เด…เดงเดฟเด• เดตเดฏเดฑเตเด•เดณเตเด‚ เดฎเตเดคเดฒเดพเดฏเดต. เดˆ เด…เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดถเตเดฐเดฆเตเดง เด†เด•เตผเดทเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดœเต€เดตเดฟเดคเดคเตเดคเดฟเดจเต เด†เดถเตเดตเดพเดธเด‚ เดจเตฝเด•เตเดจเตเดจเต. เดตเดฟเดตเดฟเดง เดฎเตŠเดฌเตˆเตฝ, เดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เตเด‚ เดธเดฎเดพเดจ เด•เดฅเดฏเตเดฃเตเดŸเต: เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏ เดธเตโ€Œเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเตเด•เตพเด•เตเด•เดพเดฏเดฟ, เด’เดฐเต เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดตเตเดฏเด•เตเดคเดฟเด—เดค เดงเดจเด•เดพเดฐเตเดฏเด™เตเด™เตพ, เดจเดฟเด˜เดฃเตเดŸเตเด•เตเด•เตพ, เดตเดฟเดตเตผเดคเตเดคเด•เตผ, เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเตเด•เตพ เดฎเตเดคเดฒเดพเดฏเดต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดจเตเดจเต เด‰เดฃเตเดŸเต‹? VPS เดฒเต‡เด•เตเด•เต - เดเดคเดพเดฃเต เดตเดฟเดฒเด•เตเดฑเดžเตเดžเดคเตเด‚ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด•เตˆเดฏเดฟเดฒเตเดณเตเดณเดคเตเด‚ เดงเดพเดฐเดพเดณเด‚ เดจเต‡เดŸเตเดŸเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเดคเตเด‚? เด‡เดฒเตเดฒ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเดจเดฟเดฏเดฟเตฝ เด‰เดณเตเดณ เด’เดจเตเดจเดฒเตเดฒ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚, "เดชเต‹เด•เตเด•เดฑเตเดฑเต". เด’เดฐเต เดชเตเดฐเดญเดพเดทเดฃเดคเตเดคเดฟเตฝ เดธเดพเดงเดพเดฐเดฃ เดซเต—เดฃเตเดŸเตป เดชเต‡เดจ เด‡เดฒเตเดฒเดพเดคเตเดคเดคเตเดชเต‹เดฒเต†, 2019-เตฝ เด’เดฐเต เดšเต†เดฑเดฟเดฏ VPS เด‡เดฒเตเดฒเดพเดคเต† เด…เดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเด™เตเด•เดŸเด•เดฐเดฎเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฐเตเดคเดฟ. เดŽเดจเตเดคเดฟเดจเต เดธเด™เตเด•เดŸเดชเตเดชเต†เดŸเดฃเด‚? เด‡เดคเต เดตเต‡เดจเดฒเดพเดฃเต. เดตเต‡เดจเตฝเด•เตเด•เดพเดฒเด‚ เดŽเด™เตเด™เดจเต†เดฏเตเดฃเตเดŸเต? เด’เดฐเต เดเดŸเดฟ เดธเตเดชเต†เดทเตเดฏเดฒเดฟเดธเตเดฑเตเดฑเดฟเดจเตเดณเตเดณ เดตเต‡เดจเตฝเด•เตเด•เดพเดฒเด‚: เดตเต€เดŸเตเดŸเดฟเดฒเดฟเดฐเตเดจเตเดจเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดฟเดฏเดชเตเดชเต†เดŸเตเดŸ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเดฟเตฝ เด–เต‡เดฆเดฎเดฟเดฒเตเดฒเดพเดคเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•. เดชเตŠเดคเตเดตเต‡, เดžเด™เตเด™เตพ เด…เดคเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต.

เดฌเตเดฐเต†เดฏเดฟเตป + 30 เดฑเต‚เดฌเดฟเตพเดธเต เดตเต‡เดฃเตเดŸเดฟ VPS =?
เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดธเด‚ เดตเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดธเด–เดพเด•เตเด•เดณเต‡.

เด…เดตเตป เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต - เดฎเตเดชเตเดชเดคเดฟเดจเต เดžเด™เตเด™เดณเตเดŸเต† เดตเดฟ.เดชเดฟ.เดŽเดธเต

เดตเดฟเดฒเด•เตเดฑเดžเตเดž VPS เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต 3-4 เดตเตผเดทเด‚ เดฎเตเดฎเตเดชเต เดŽเดดเตเดคเดฟเดฏ เดฎเดคเตเดธเดฐเดพเตผเดคเตเดฅเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดžเด™เตเด™เตพ เดงเดพเดฐเดพเดณเด‚ เดฒเต‡เด–เดจเด™เตเด™เตพ เดตเดพเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดถเดฐเดฟ, เด…เดคเต เดถเดฐเดฟเดฏเดพเดฃเต, เด…เดชเตเดชเต‹เตพ VPS "เด’เดฐเต เดšเดฟเดฒเตเดฒเดฟเด•เตเด•เดพเดถเดฟเดจเตเดณเตเดณ" เดถเตเดฆเตเดงเดฎเดพเดฏ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเดฟเด‚เด—เต เด†เดฏเดฟเดฐเตเดจเตเดจเต, เดธเดพเดงเดพเดฐเดฃ เดœเต‹เดฒเดฟ เด…เดตเดธเดฐเด™เตเด™เตพ เดจเตฝเด•เดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เดธเดฎเดฏเด‚ เดฎเดพเดฑเตเด•เดฏเดพเดฃเต, เดตเต†เตผเดšเตเดตเตฝ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเตเด•เดณเตเดŸเต† เดตเดฟเดฒ เด•เตเดฑเดฏเตเด•เดฏเตเด‚ เด•เตเดฑเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดชเตเดฐเดคเดฟเดฎเดพเดธเด‚ 30 เดฑเตเดฌเดฟเดณเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด‡เดคเต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เดคเดฏเตเดฏเดพเดฑเดพเดฃเต:

  • เดชเตเดฐเต‹เดธเดธเตผ: เด‡เดจเตเดฑเตฝ เดธเดฟเดฏเต‹เตบ 2 GHz (1 เด•เต‹เตผ)
  • เดฒเดฟเดจเด•เตเดธเต เดธเดฟเดธเตเดฑเตเดฑเด‚ (Debian, Ubuntu, CentOS เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป)
  • 1 เดธเดฎเตผเดชเตเดชเดฟเดค IPv4 เดตเดฟเดฒเดพเดธเด‚
  • เดซเดพเดธเตเดฑเตเดฑเต เดŽเดจเตเดฑเตผเดชเตเดฐเตˆเดธเต เด•เตเดฒเดพเดธเต เดŽเดธเตเดŽเดธเตเดกเดฟ เดกเตเดฐเตˆเดตเตเด•เดณเดฟเตฝ 10 เดœเดฟเดฌเดฟ เดกเดพเดฑเตเดฑ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต
  • เดฑเดพเด‚: 512 MB
  • เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดฌเดฟเดฒเตเดฒเดฟเด‚เด—เต
  • เดชเดฐเดฟเดงเดฟเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เดŸเตเดฐเดพเดซเดฟเด•เต

เดคเดพเดฐเดฟเดซเต เด…เดงเดฟเด• เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพเด•เตเด•เต เดตเดฟเดงเต‡เดฏเดฎเดพเดฃเต, เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เดชเต‡เดœเต เดžเด™เตเด™เดณเตเดŸเต† เดฐเดธเด•เดฐเดฎเดพเดฏ เด“เดซเตผ - 30 เดฑเต‚เดฌเดฟเดณเดฟเดจเต VPS. 

เดˆ เดตเต†เตผเดšเตเดตเตฝ เดธเต†เตผเดตเตผ เด†เตผเด•เตเด•เดพเดฃเต เด…เดจเตเดฏเต‹เดœเตเดฏเด‚? เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เด…เดคเต†: เดคเตเดŸเด•เตเด•เด•เตเด•เดพเตผ, เด‰เดคเตเดธเดพเดนเดฟเด•เตพ, เดชเดฐเดฟเดšเดฏเดธเดฎเตเดชเดจเตเดจเดฐเดพเดฏ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ, DIY เด†เดฐเดพเดงเด•เตผ, เดšเดฟเดฒ เด•เดฎเตเดชเดจเดฟเด•เตพ เดชเต‹เดฒเตเด‚.

เดˆ เดตเดฟเดชเดฟเดŽเดธเต เดŽเดจเตเดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต?

เดนเดฌเดฑเดฟเดจเตเดฑเต† เดตเดพเดฏเดจเด•เตเด•เดพเตผ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดˆ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด…เดตเดฐเตเดŸเต‡เดคเดพเดฏ เดตเดดเดฟ เด•เดฃเตเดŸเต†เดคเตเดคเตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฐเตเดคเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด†เดถเดฏเด™เตเด™เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต - เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเด•เตเดทเต‡ เดชเตเดฐเตเดทเดจเตเดฎเดพเตผเด•เตเด•เต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเต‹?

  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฒเดณเดฟเดคเดฎเดพเดฏ เดตเต†เดฌเตเดธเตˆเดฑเตเดฑเต, เดชเต‹เตผเดŸเตเดŸเตเดซเต‹เดณเดฟเดฏเต‹, เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด• เดคเตเดŸเด™เตเด™เดฟเดฏเดต เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดค เดตเต†เดฌเตเดธเตˆเดฑเตเดฑเต เดคเตŠเดดเดฟเดฒเตเดŸเดฎเดฏเดฟเตฝ เดจเดฒเตเดฒ เดฎเดคเดฟเดชเตเดชเต เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† VPS-เตฝ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดธเตเดฐเด•เตเดทเดฏเตเด•เตเด•เตเด‚ เดธเตเดฅเดฟเดฐเดคเดฏเตเด•เตเด•เตเด‚ เดธเตเดตเดฏเด‚ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•, เดธเดพเดงเดพเดฐเดฃ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเด•เตเด•เดณเตเดŸเต† เดœเต€เดตเดจเด•เตเด•เดพเดฐเดฒเตเดฒ.
  • เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ VPS เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•: เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•, เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเต†เตผเดตเตผ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดชเด เดฟเด•เตเด•เตเด•, DNS เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•, เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดธเตˆเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดŸเดฟเด™เตเด•เตผ เดšเต†เดฏเตเดฏเตเด•.
  • เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟเด•เตเด•เดพเดฏเดฟ. เดšเดฟเดฒเดชเตเดชเต‹เตพ เด’เดฐเต เดตเตเดฏเด•เตเดคเดฟเด—เดค เดธเด‚เดฐเด‚เดญเด•เดจเต‹, เดซเตเดฐเต€เดฒเดพเตปเดธเตผเด•เตเด•เต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเดณเดฐเต† เดšเต†เดฑเดฟเดฏ เด’เดฐเต เด•เดฎเตเดชเดจเดฟเด•เตเด•เต‹ เดเดชเดฟ เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟ เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต, เดˆ เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟเดฏเตเดŸเต† เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ เด…เดคเตเดฏเดพเด—เตเดฐเดนเดฟเด•เดณเดพเดฃเต. เด‡เดคเต เดฒเดณเดฟเดคเดฎเดพเดฃเต: เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเตผ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต, เด’เดฐเต IP เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดจเดฎเตเดชเตผ เดตเดพเด™เตเด™เตเดจเตเดจเต, เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ PBX เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเต เด†เดจเตเดคเดฐเดฟเด• เดจเดฎเตเดชเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต (เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ). เดธเดฎเตเดชเดพเดฆเตเดฏเด‚ เดญเต€เดฎเดฎเดพเดฃเต.
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.
  • เดธเตเดฎเดพเตผเดŸเตเดŸเต เดนเต‹เด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเต†เตปเดธเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเต† DIY เดชเดฐเต€เด•เตเดทเดฃเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.
  • เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด…เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เดฎเดพเตผเด—เด‚ เดธเต†เตผเดตเดฑเดฟเตฝ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดŸเตเดฐเต‡เดกเดฟเด‚เด—เต เด…เดธเดฟเดธเตเดฑเตเดฑเดจเตเดฑเต, เด’เดฐเต เดŸเตเดฐเต‡เดกเดฟเด‚เด—เต เดฑเต‹เดฌเต‹เดŸเตเดŸเต เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต. เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เดธเตเดฅเดฟเดฐเดคเดฏเตเด•เตเด•เตเด‚ เดธเตเดฐเด•เตเดทเดฏเตเด•เตเด•เตเด‚ เดจเดฟเด™เตเด™เตพ เดชเต‚เตผเดฃเตเดฃ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดคเดพเดฏเดคเต เดธเตเดฑเตเดฑเต‹เด•เตเด•เต เดฎเดพเตผเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ เดŸเตเดฐเต‡เดกเดฟเด™เตเด™เดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดค เด‰เดชเด•เดฐเดฃเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚. เดถเดฐเดฟ, เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเต‹ เด†เดธเต‚เดคเตเดฐเดฃเดฎเต‹ เด†เดฃเต†เด™เตเด•เดฟเตฝ :)

เด•เต‹เตผเดชเตเดชเดฑเต‡เดฑเตเดฑเต เดฎเต‡เด–เดฒเดฏเดฟเตฝ เด…เดคเตเดคเดฐเด‚ เดตเดฟเดชเดฟเดŽเดธเดฟเดจเตเดณเตเดณ เด…เดชเต‡เด•เตเดทเด•เตพ เด‰เดฃเตเดŸเต. เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เดŸเต†เดฒเดฟเดซเต‹เตบ เดธเต‡เดตเดจเดคเตเดคเดฟเดจเต เดชเตเดฑเดฎเต‡, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เดฐเดธเด•เดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:

  • เดฆเต‚เดฐเต†เดฏเตเดณเตเดณ เดฏเดพเดคเตเดฐเด•เตเด•เดพเตผเด•เตเด•เต เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดšเต†เดฑเดฟเดฏ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เดณเตเด‚ เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, ftp เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดชเตเดคเดฟเดฏ เด…เดจเดฒเดฟเดฑเตเดฑเดฟเด•เตโ€Œเดธเต, เดธเต†เดฏเดฟเตฝเดธเต เด†เดณเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดค เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด•เตพ, เด…เดตเดคเดฐเดฃเด™เตเด™เตพ เดฎเตเดคเดฒเดพเดฏเดต เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เด•เตˆเดฎเดพเดฑเดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚.
  • เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเต‹ เดฎเต€เดกเดฟเดฏเดฏเต‹ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต‹ โ€‹โ€‹เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต‹ โ€‹โ€‹เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เด†เด•เตโ€Œเดธเดธเต เดจเตฝเด•เตเด•.

30 เดฑเต‚เดฌเดฟเดณเตเด•เตพเด•เตเด•เตเดณเตเดณ VPS เดŸเต†เดธเตเดฑเตเดฑเต เดกเตเดฐเตˆเดตเต - เดจเดฟเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดšเต†เดฏเตเดคเต

30 เดฑเต‚เดฌเดฟเตพเดธเต เดตเดณเดฐเต† เด•เตเดฑเดตเดพเดฃเต, เดชเดฃเดฎเดŸเดฏเตเด•เตเด•เดพเดจเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด•เดพเตผเดกเต เดŽเดŸเตเด•เตเด•เดพเตป เดชเต‹เดฒเตเด‚ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดžเด™เตเด™เดณเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เดฎเดŸเดฟเดฏเดจเตเดฎเดพเดฐเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด‡เดคเตเดคเดตเดฃ เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดŽเดฒเตเดฒเดพเด‚ เดšเต†เดฏเตเดคเต. เดธเต†เตผเดตเดฑเตเด•เตพ เดฏเตเดฆเตเดงเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดŽเดฒเตเดฒเดพ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดˆ เดคเดพเดฐเดฟเดซเดฟเตฝ เดธเต†เตผเดตเดฑเตเด•เตพเด•เตเด•เต เดŽเดจเตเดคเต เด•เดดเดฟเดตเตเดฃเตเดŸเต†เดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดžเด™เตเด™เตพ เด’เดฐเต เดชเดฐเดฟเดถเต‹เดงเดจ เดจเดŸเดคเตเดคเดฟ. เด‡เดคเต เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเด•เตเด•เดพเตป, เดžเด™เตเด™เตพ เดคเต€เดตเตเดฐเดค เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดจเตเดฆเตเดฐเดคเดฏเตเด‚ เดฒเต‹เดกเตเด‚ เดžเด™เตเด™เตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด•เดตเดฟเดฏเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ เดˆ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. 

เดชเตเดฐเต‹เดธเดธเดฑเดฟเตฝ เดตเดฟเดตเดฟเดง เดœเต‹เดฒเดฟเด•เตพ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดกเดฟเดธเตเด•เต เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดœเต€เดตเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเตเดŸเต† เดฒเต‹เดกเดฟเดจเต เด•เต€เดดเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต เดนเต‹เดธเตเดฑเตเดฑเต. เดชเตเดฒเต†เดฏเตโ€Œเดธเตโ€Œเดฎเต†เดจเตเดฑเดฟเดจเตเดฑเต† เด‰เดฏเตผเดจเตเดจ เดธเดพเดจเตเดฆเตเดฐเดคเดฏเตเด‚ เด’เดฐเต เดชเต‹เดฐเดพเดŸเตเดŸเดตเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดตเตเดจเตเดจเดคเต‹ เด…เดคเดฟเดฒเตเด‚ เด•เต‚เดŸเตเดคเดฒเต‹ เด‰เดณเตเดณ เดฒเต‹เดกเตเด‚ เด…เดจเตเด•เดฐเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดฒเด•เตเดทเตเดฏเด‚.

เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดฒเต‹เดกเดฟเดจเต เดชเตเดฑเดฎเต‡, sysbench เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเดฟเดจเตเดคเดฑเตเดฑเดฟเด•เต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจ 3 เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เดžเด™เตเด™เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต, เด…เดตเดฏเตเดŸเต† เดถเดฐเดพเดถเดฐเดฟ เดซเดฒเด™เตเด™เตพ เดšเตเดตเดŸเต† เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด…เดงเดฟเด• เดฒเต‹เดกเต เดธเตƒเดทเตเดŸเดฟเดšเตเดš 50 เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ. เดŽเดฒเตเดฒเดพ เดŸเต†เดธเตเดฑเตเดฑเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพเด•เตเด•เตเด‚ เด’เดฐเต‡ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต (1 เด•เต‹เตผ, เดฑเดพเด‚ 512 GB, SSD 10 GB), เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดกเต†เดฌเดฟเดฏเตป 9.6 เด‡เดฎเต‡เดœเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต, เด‡เดคเต RUVDS-เตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฒเต‹เดกเต เดชเตเดฐเด•เตƒเดคเดฟเดฏเดฟเดฒเตเด‚ เดชเต‹เดฐเดพเดŸเตเดŸเดตเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดตเตเดจเตเดจ เด…เดณเดตเดฟเดฒเตเด‚ เด…เดจเตเด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเต:

  • เดšเดฟเดฒ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เดฒเต‹ เดฒเต‹เดกเดฟเตฝ เดฒเต‹เดžเตเดšเต เดšเต†เดฏเตเดคเต
  • เดšเดฟเดฒ เดฎเต†เดทเต€เดจเตเด•เตพ เดชเตเดฐเต‹เดธเดธเดฑเดฟเดฒเต† เดฒเต‹เดกเต เด…เดจเตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดŸเต†เดธเตเดฑเตเดฑเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต (เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเดฎเตเดฎเดฐเตเดฆเตเดฆเด‚)
  • เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเตเดŸเต† เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ เดญเดพเด—เดคเตเดคเต, pv เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดชเดฐเดฟเดงเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเต เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดฟเดธเตเด•เดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เดชเด•เตผเดคเตเดคเดพเตป dd เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดžเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต (เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เด•เดพเดฃเดพเด‚. เด‡เดตเดฟเดŸเต† ะธ เด‡เดตเดฟเดŸเต†).

เด•เต‚เดŸเดพเดคเต†, เดจเดฟเด™เตเด™เตพ เด“เตผเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดธเดฟเดจเตเดคเดฑเตเดฑเดฟเด•เต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต‚เดจเตเดจเต เดฎเต†เดทเต€เดจเตเด•เตพ เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต.

เด“เดฐเต‹ เดฎเต†เดทเต€เดจเดฟเดฒเตเด‚, เด“เดฐเต‹ 15 เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเดฒเตเด‚ เดšเดพเด•เตเดฐเดฟเด•เดฎเดพเดฏเดฟ เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด‡เดคเต เดชเตเดฐเต‹เดธเดธเตผ, เดฎเต†เดฎเตเดฎเดฑเดฟ, เดกเดฟเดธเตเด•เต เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เดพเดฏเตเดณเตเดณ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดธเดฟเดธเตเดฌเต†เดžเตเดšเต เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต sysbench.sh

#!/bin/bash
date +"%Y-%m-%d %H:%M:%S" >> /root/sysbench/results.txt
sysbench --test=cpu run >> /root/sysbench/results.txt
sysbench --test=memory run >> /root/sysbench/results.txt
sysbench --test=fileio --file-test-mode=seqwr run >> /root/sysbench/results.txt
sysbench --test=fileio --file-test-mode=seqrd run >> /root/sysbench/results.txt
sysbench --test=fileio --file-test-mode=rndrw run >> /root/sysbench/results.txt

เดธเดฟเดธเตโ€Œเดฌเต†เดžเตเดšเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดธเต—เด•เดฐเตเดฏเดพเตผเดคเตเดฅเด‚ เดซเดฒเด™เตเด™เตพ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดฎเตเดดเตเดตเตป เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เด•เดพเดฒเดฏเดณเดตเดฟเดฒเต†เดฏเตเด‚ เดถเดฐเดพเดถเดฐเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดŽเดฒเตเดฒเดพ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดŽเดŸเตเดคเตเดคเดคเดพเดฃเต, เดซเดฒเด‚ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚:

Sysbanch-avg.txtsysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 10000

Test execution summary:
total time: 19.2244s
total number of events: 10000
total time taken by event execution: 19.2104
per-request statistics:
min: 1.43ms
avg: 1.92ms
max: 47.00ms
approx. 95 percentile: 3.02ms

Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 19.2104/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing memory operations speed test
Memory block size: 1K

Memory transfer size: 102400M

Memory operations type: write
Memory scope type: global
Threads started!
Done.

Operations performed: 104857600 (328001.79 ops/sec)

102400.00 MB transferred (320.32 MB/sec)

Test execution summary:
total time: 320.9155s
total number of events: 104857600
total time taken by event execution: 244.8399
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 139.41ms
approx. 95 percentile: 0.00ms

Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 244.8399/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential write (creation) test
Threads started!
Done.

Operations performed: 0 Read, 131072 Write, 128 Other = 131200 Total
Read 0b Written 2Gb Total transferred 2Gb (320.1Mb/sec)
20251.32 Requests/sec executed

Test execution summary:
total time: 6.9972s
total number of events: 131072
total time taken by event execution: 5.2246
per-request statistics:
min: 0.01ms
avg: 0.04ms
max: 96.76ms
approx. 95 percentile: 0.03ms

Threads fairness:
events (avg/stddev): 131072.0000/0.00
execution time (avg/stddev): 5.2246/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential read test
Threads started!
Done.

Operations performed: 131072 Read, 0 Write, 0 Other = 131072 Total
Read 2Gb Written 0b Total transferred 2Gb (91.32Mb/sec)
5844.8 Requests/sec executed

Test execution summary:
total time: 23.1054s
total number of events: 131072
total time taken by event execution: 22.9933
per-request statistics:
min: 0.00ms
avg: 0.18ms
max: 295.75ms
approx. 95 percentile: 0.77ms

Threads fairness:
events (avg/stddev): 131072.0000/0.00
execution time (avg/stddev): 22.9933/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Done.

Operations performed: 6000 Read, 4000 Write, 12800 Other = 22800 Total
Read 93.75Mb Written 62.5Mb Total transferred 156.25Mb (1341.5Kb/sec)
85.61 Requests/sec executed

Test execution summary:
total time: 152.9786s
total number of events: 10000
total time taken by event execution: 14.1879
per-request statistics:
min: 0.01ms
avg: 1.41ms
max: 210.22ms
approx. 95 percentile: 4.95ms

Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 14.1879/0.00

เดซเดฒเด™เตเด™เตพ เดธเต‚เดšเด•เดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เด‡เดชเตเดชเต‹เดดเตเด‚ QoS เด†เดฏเดฟ เดŽเดŸเตเด•เตเด•เดพเตป เดชเดพเดŸเดฟเดฒเตเดฒ. 

เด…เดงเดฟเด• เดฒเต‹เดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เดฏเดจเตเดคเตเดฐเด™เตเด™เตพ

เดธเต‹เดซเตเดฑเตเดฑเตเดตเต†เดฏเตผ:

  • apt-get update
  • apt-get upgrade
  • apt-get install เดชเตˆเดคเตเดคเตบ-เดชเตˆเดชเตเดชเต
  • pip mysql-connector-python-rf เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•

MariaDB เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต, เดŽเด™เตเด™เดจเต† เด‡เดตเดฟเดŸเต†:

apt-get install libmariadbclient-dev
mysql -e "INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';" -- ะฝัƒะถะฝะพ ะดะปั test_employees_sha

เดŸเต†เดธเตเดฑเตเดฑเต เดฌเต‡เดธเต เดŽเดŸเตเดคเตเดคเต เด‡เดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต:

เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดชเตเดฐเด•เดพเดฐเด‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด‡เดตเดฟเดŸเต†:

mysql -t < employees.sql
mysql -t < test_employees_sha.sql

เดšเต†เดฑเดฟเดฏ เดŸเต†เดธเตเดฑเตเดฑเต เดฌเต‡เดธเต:

เดฎเต‡เดถ 

เดตเดฐเดฟเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ 

เดกเดพเดฑเตเดฑ เดตเดฒเตเดชเตเดชเด‚ (MB)

เดธเต‚เดšเดฟเด• เดตเดฒเตเดชเตเดชเด‚ (KB)

เดตเด•เตเดชเตเดชเตเด•เตพ 

9

0.02

16.00

dept_emp 

331143 

11.52

5648.00

dept_manager 

24 

0.02

16.00

เดœเต€เดตเดจเด•เตเด•เดพเตผ 

299379 

14.52

0.00

เดœเต€เดตเดจเด•เตเด•เดพเตผ 

2838426 

95.63

0.00 

เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ 

442783 

19.56

0.00

เดชเตˆเดคเตเดคเดฃเดฟเตฝ เด•เดพเตฝเดฎเตเดŸเตเดŸเดฟเตฝ เด’เดฐเต เดชเตเดฐเดพเด•เตƒเดค เดชเดฐเต€เด•เตเดทเดฃ เดธเต‡เดตเดจเด‚ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต; เด‡เดคเต เดจเดพเดฒเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

  1. getState: เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดจเตฝเด•เตเดจเตเดจเต
  2. getEmployee: เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดœเต€เดตเดจเด•เตเด•เดพเดฐเต† (+เดถเดฎเตเดชเดณเด‚, + เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ) เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต
  3. เดชเดพเดšเตเดšเต เดŽเด‚เดชเตเดฒเต‹เดฏเดฟ: เดœเต€เดตเดจเด•เตเด•เดพเดฐเตเดŸเต† เดซเต€เตฝเดกเตเด•เตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต
  4. insertSalary: เดถเดฎเตเดชเดณเด‚ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

เดธเต‡เดตเดจ เด‰เดฑเดตเดฟเดŸเด‚ (dbtest.py)

#!/usr/bin/python
import mysql.connector as mariadb
from flask import Flask, json, request, abort
from mysql.connector.constants import ClientFlag

app = Flask(__name__)

def getFields(cursor):
    results = {}
    column = 0
    for d in cursor.description:
        results[d[0]] = column
        column = column + 1
    return results

PAGE_SIZE = 30

@app.route("/")
def main():
    return "Hello!"

@app.route("/employees/<page>", methods=['GET'])
def getEmployees(page):
    offset = (int(page) - 1) * PAGE_SIZE
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees')
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM employees LIMIT {} OFFSET {}".format(PAGE_SIZE, offset))
    return {'employees': [i[0] for i in cursor.fetchall()]}

@app.route("/employee/<id>", methods=['GET'])
def getEmployee(id):
    id = int(id)
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees')
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM employees WHERE emp_no = {}".format(id))
    fields = getFields(cursor)
    employee = {}
    found = False
    for row in cursor.fetchall():
        found = True
        employee = {
            "birth_date": row[fields["birth_date"]],
            "first_name": row[fields["first_name"]],
            "last_name": row[fields["last_name"]],
            "gender": row[fields["gender"]],
            "hire_date": row[fields["hire_date"]]
        }
    if not found:
        abort(404)
    cursor.execute("SELECT * FROM salaries WHERE emp_no = {}".format(id))
    fields = getFields(cursor)
    salaries = []
    for row in cursor.fetchall():
        salary = {
            "salary": row[fields["salary"]],
            "from_date": row[fields["from_date"]],
            "to_date": row[fields["to_date"]]
        }
        salaries.append(salary)
    employee["salaries"] = salaries
    cursor.execute("SELECT * FROM titles WHERE emp_no = {}".format(id))
    fields = getFields(cursor)
    titles = []
    for row in cursor.fetchall():
        title = {
            "title": row[fields["title"]],
            "from_date": row[fields["from_date"]],
            "to_date": row[fields["to_date"]]
        }
        titles.append(title)
    employee["titles"] = titles
    return json.dumps({
        "status": "success",
        "employee": employee
    })

def isFieldValid(t, v):
    if t == "employee":
        return v in ["birdth_date", "first_name", "last_name", "hire_date"]
    else:
        return false

@app.route("/employee/<id>", methods=['PATCH'])
def setEmployee(id):
    id = int(id)
    content = request.json
    print(content)
    setList = ""
    data = []
    for k, v in content.iteritems():
        if not isFieldValid("employee", k):
            continue
        if setList != "":
            setList = setList + ", "
        setList = setList + k + "=%s"
        data.append(v)
    data.append(id)
    print(setList)
    print(data)
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees', client_flags=[ClientFlag.FOUND_ROWS])
    cursor = connection.cursor()
    cursor.execute("UPDATE employees SET {} WHERE emp_no = %s".format(setList), data)
    connection.commit()
    if cursor.rowcount < 1:
        abort(404)
    return json.dumps({
        "status": "success"
    })

@app.route("/salary", methods=['PUT'])
def putSalary():
    content = request.json
    print(content)
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees', client_flags=[ClientFlag.FOUND_ROWS])
    cursor = connection.cursor()
    data = [content["emp_no"], content["salary"], content["from_date"], content["to_date"]]
    cursor.execute("INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (%s, %s, %s, %s)", data)
    connection.commit()
    return json.dumps({
        "status": "success"
    })


@app.route("/state", methods=['GET'])
def getState():
    return json.dumps({
        "status": "success",
        "state": "working"
    })

if __name__ == '__main__':
    app.run(host='0.0.0.0',port='5002')

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‚! เด’เดฐเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚ เดˆ เดธเต‡เดตเดจเด‚ เด’เดฐเต เดฎเดพเดคเตƒเด•เดฏเต‹ เดตเดดเดฟเด•เดพเดŸเตเดŸเดฟเดฏเต‹ เด†เดฏเดฟ เดŽเดŸเตเด•เตเด•เดฐเตเดคเต!

เดจเดฒเตเดฒ เดชเดดเดฏ เดœเต†เดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต. 15 เดฎเดฟเดจเดฟเดฑเตเดฑเต เดฎเตเดคเตฝ 2 เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดตเดฐเต† เดจเต€เดณเตเดจเตเดจ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดชเดฐเดฎเตเดชเดฐ เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดšเต, เดคเดŸเดธเตเดธเด™เตเด™เดณเดฟเดฒเตเดฒเดพเดคเต†, เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดถเดคเดฎเดพเดจเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดคเตเดฐเต‚เดชเตเดŸเตเดŸเต เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเตฝ 300 เดฎเตเดคเตฝ 600 เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดตเดฐเต† เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดจเตเดจเต. 50 เดฎเตเดคเตฝ 500 เดตเดฐเต†เดฏเตเดณเตเดณ เดคเตเดฐเต†เดกเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚.

เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดตเดณเดฐเต† เดšเต†เดฑเตเดคเดพเดฏเดคเดฟเดจเดพเตฝ, เด•เดฎเดพเตปเดกเต:

mysql -e "SHOW ENGINE INNODB STATUS"

เด…เดคเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต:

Buffer pool hit rate 923 / 1000, young-making rate 29 / 1000 not 32 / 1000

เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เตเดณเตเดณ เดถเดฐเดพเดถเดฐเดฟ เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดธเดฎเดฏเด‚ เดšเตเดตเดŸเต†:

เดฒเต‡เดฌเตฝ

เดถเดฐเดพเดถเดฐเดฟ

เดฎเต€เดกเดฟเดฏเตป

90% เดฒเตˆเตป

95% เดฒเตˆเตป

99% เดฒเตˆเตป

เด•เตเดฑเดžเตเดžเดคเต

เดฎเดพเด•เตเดธเต

เดœเต€เดตเดจเด•เตเด•เดพเดฐเดจเต† เดจเต‡เดŸเตเด•

37.64

12.57

62.28

128.5

497.57

5

4151.78

getState

17

7.57

30.14

58.71

193

3

2814.71

เดชเดพเดšเตเดšเต เดŽเด‚เดชเตเดฒเต‹เดฏเดฟ

161.42

83.29

308

492.57

1845.14

5

6639.4

เดถเดฎเตเดชเดณเด‚

167.21

86.93

315.34

501.07

1927.12

7

6722.44

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดœเต‹เดฒเดฟเด•เตพเด•เตเด•เต เดˆ เดตเดฟเดชเดฟเดŽเดธเต เดŽเดคเตเดฐเดคเตเดคเต‹เดณเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดˆ เดธเดฟเดจเตเดคเดฑเตเดฑเดฟเด•เต เดซเดฒเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เดชเตŠเดคเตเดตเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ, เดฒเดฟเดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดค เดฐเต€เดคเดฟเด•เตพ เดžเด™เตเด™เตพ เด’เดฐเต เดคเดฐเดคเตเดคเดฟเดฒเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดคเดฐเดคเตเดคเดฟเตฝ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด•เต‡เดธเตเด•เดณเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดตเตเดฏเด•เตเดคเดฎเดพเดฏเตเด‚ เดธเดฎเด—เตเดฐเดฎเดฒเตเดฒ. เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเดพเดฏ เดจเดฟเด—เดฎเดจเด™เตเด™เดณเดฟเตฝ เดŽเดคเตเดคเดฟเดšเตเดšเต‡เดฐเดพเดจเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฏเดฅเดพเตผเดคเตเดฅ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเดฒเตเด‚ เดŸเดพเดธเตเด•เตเด•เตเด•เดณเดฟเดฒเตเด‚ 30 เดฑเต‚เดฌเดฟเดณเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดธเต†เตผเดตเตผ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเดฟเตฝ เดˆ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด“เดชเตเดทเดจเตเด•เตพ เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เด•เตเดทเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•