Blog Cover Image

Inspire you to have New thinking, Walk out your unique Road.

有的時候,你無意間遇到的一些故事,會激發你的靈感,改變你的想法,接下來你會用與之前全然不同的觀念去創造屬於你獨特的故事。

Sign @MinaYu.

後端小菜鳥學習記錄(5)

Posted on

9/20

功能測過正常可以跑了,接下來就是準備測效能,優化效能!

Python Profile

學習清單

  • 將寫好的靜態輸入資料庫api優化效能(優先)

  • 自寫程式提供資料傳給自己寫的動態api(優先)

  • 看傳遞資料書書學習(優先)

  • 看python Introduction學習(自修)

  • 重修資料結構,資訊網路,物件導向,演算法(自修)

  • http://linux.vbird.org/new_linux.php


看request API如何使用(1小時半)

將api優化,針對API優化

1. api寫錯,沒有正確使用library

2. 自身coding習慣,程式上的優化

對於重複使用的值跟變數(這邊例子為重複使用的連結db url)

寫成常數定義




使用假的domain串(nginx,uwsgi)
docker-compose --help
add host





針對傳輸資料的優化有分:
寫入資料庫的優化 >> 使用Connection Pool,處理有關Request跟Connection連接問題
資料庫寫入硬體的disk 優化

以下先針對connection 的問題優化(5hours)

**要觀察connection pool 是否保證可多個thread的攻打,這樣的library就值得被信賴使用

mysql-connector

https://dev.mysql.com/doc/connector-python/en/connector-python-connection-pooling.html


***小技巧:程式的easy-test

#test.py

def test():
    return ("Hi!")

<strong>if __name__ == '__main__':</strong>
test()

#終端機跑
$python test.py










#debug skill

<strong>try:</strong>
    test()
<strong>except BaseException as e:</strong>
    <strong>return str(e)</strong>
return"OK"





$cat 檔案名 ls -l

$docker-compose exec container ls -l

$docker-compose exec container ls

$diff ______

#docker-compose exec container cat 檔案名

$ docker-compose exec container cat 檔案名 | unix2dos | md5
91bb3b15e09f62******************
$ cat 檔案名 | unix2dos | md5
91bb3b15e0**********************

`dos2unix` 看起來也行

1.將Connection Pool從函式裡面搬到Global

format用法
#這邊要設變數
'mysql+pymysql://{user}:{pw}@{host}:{port}/{db}'.format(user=user,pw=pw,host=host,port=port,db=db)
  1. 將過多重複的值+變數統一彙整定義變數

優化過後

速度提升3-5倍

中秋連假homework: thread safe, curl, 書, git scratch, 其它這兩週學的

筆記一下:http://einverne.github.io/post/2017/05/sqlalchemy-session.html


9/21

STUDY 資料視覺化書+STUDY Linux (1hours)


好拔,由於星巴克待不慣,所以我跑回來原來的地方

結果就順手測了以下的功能(1hours)

Driver 傳輸資料

SQLAlchemy Driver by execute         實測速度:132.8/sec

Pymysql Driver by execute         實測速度:101.3/sec

Pymysql Driver by executemany      懶得寫懶得測

中秋連假的功課啊啊!!!

  1. 將書看完

  2. linux語法

  3. git scratch

  4. 把這兩週學的複習