記一次 Python 接單經(jīng)歷

技術人,總要用自己的能力獲得點收益的。

所以我偶爾在 QQ 群里找點單子做,主要是爬蟲和數(shù)據(jù)處理相關的。

于是我昨天晚上接到了一個單子,是這樣的:

客戶描述安裝某個庫失敗,附有報錯截圖,初步猜測原因,接。

順著我猜測的原因,直接讓他截圖報錯信息的最后一段,果然是 Microsoft C++ 14.0 or greater is required,鎖定問題。

簡單來說就是這個庫在發(fā)布的時候沒有生成 Windows 平臺的安裝包,所以需要從源代碼編譯,但他的電腦上缺少編譯工具。

遠程,從一個網(wǎng)站上找到對應版本的安裝包,用命令行裝上,打開 PyCharm 運行代碼,報錯 No Module Named ...,不慌,看右下角解釋器信息,果然是虛擬環(huán)境,更改設置,再次運行,完美。

這一單 40,算是撿錢。

于是,今天晚上我收到了他的另外一個需求,程序報錯幫忙解決。

既然已經(jīng)結單了,那出問題別找我,這個庫不是我裝的,報錯和我沒關系......什么你再下一單?行,我做。

一個 NumPy 的報錯(NumPy 是 Python 的一個矩陣計算庫),分配內存失敗,簡單查一下,原因是內存不足。

于是客戶想讓我?guī)退\行一下,我隨便報了個價,30。

文件發(fā)過來,700MB 的壓縮包,上次幫他遠程的時候看了下配置,8GB 內存,看來我電腦也沒法跑。本機建個虛擬環(huán)境試一下,果然內存不足報錯。

這簡單,用萬能的阿里云啊。

阿里云搶占式內存實例,一小時才不到一塊錢,這波凈賺 29,信息差,不虧。

ECS 云服務器 - 新建實例 - 搶占式實例,選好配置,設密碼,一個小時才一毛錢多點,下單。

啥?余額不足 100 不能用按量付費服務?行,又不是沒錢,于是:

給馬爸爸交錢了

打開 XShell 連接 SSH,裝 Python,裝庫,Xftp 傳輸文件,順手裝上個 htop 做性能監(jiān)控,這波叫輕車熟路。

不得不說 Linux 上裝軟件就是簡單,apt install 就完事了。

把數(shù)據(jù)移動進輸入目錄,運行程序,右側的 htop 上內存占用量增長,變紅,回落,左側終端顯示 Killed。

內存不足,程序無了。

說完全不驚訝是不可能的,平時數(shù)據(jù)分析偶爾也會開這個配置的服務器,從來沒出現(xiàn)過這種情況。

跟客戶吐槽一下,刪掉實例,開個 64GB 的。

這是我用過內存最大的服務器

重復以上操作,運行,重復 Killed。

行吧,找下教程,建個 15GB 的 swap 文件。

Linux 上的 swap 文件相當于 Windows 的虛擬內存,只不過因為 Linux 的受眾群體大多是企業(yè),很少出現(xiàn)內存不足的情況,而磁盤交換會影響性能,所以阿里云的服務器上 swap 默認是關閉狀態(tài)。

繼續(xù)運行,然后......

我是真的疑惑了

我這 64 + 15 = 79GB 的內存,居然連一個 150 多行的 Python 程序都跑不了?

這單子我不做也罷,退單,銷毀實例。

不忘在群里說了句這程序優(yōu)化太垃圾了,順便 @ 客戶。

好奇心驅使我打開了這個代碼文件,是一個地理相關的程序,涉及到矩陣運算。

看了一會,除了他用到的這個庫我不熟悉,其它代碼我都能看懂,也沒有什么很明顯的內存問題(比如臨時變量沒釋放之類)。

哦對,這個程序沒有多進程,運行的時候真的是一核有難 23 核圍觀,為啥不是 7 核呢?因為我去查了下這顆 CPU,一共 24 個核心,只是虛擬化只給了我八個。

至于這顆 CPU 多少錢,我在京東上找到一臺塔式服務器是這個 CPU,整機價格 37000 元。

提到塔式服務器,吐槽我家長單位的某臺服務器,具體型號忘記了,風扇后面就是墻,而且兩個冗余電源只插了一個。

像這種程序,我給他找了兩個備選方案:

方案一:一小時 31 元
方案二:一小時 50 元

就這樣,收工。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容